※ ChatGPTを利用し、要約された質問です(原文:DBリンク経由の参照について)
サーバAとサーバB間のDBLINK経由での参照について
このQ&Aのポイント
サーバAのスキーマAからDBテーブル1を参照できるようになるための設定方法についてです。
サーバBのスキーマAからDBLINK経由でサーバAのスキーマAのDBテーブル1を参照する方法についてです。
サーバBのスキーマAからサーバAのスキーマAのDBテーブル1が参照できない場合の考えられる原因についてです。
サーバ【A】のスキーマ【あ】にDB【テーブル1】があります。
サーバ【A】のスキーマ【い】に、【あ】からセレクト権限を与えた所、【い】から【テーブル1】を参照できるようになりました。
次に、
サーバ【B】からサーバ【A】にDBLINKをはりました。
(tnspingで接続されているのを確認済)。
これで、
サーバ【B】のスキーマ【あ】からDBLINK経由で【テーブル1】を参照できるようになりました。
しかし、サーバ【B】のスキーマ【い】から【テーブル1】が参照できません。
私としては、スキーマ同士の権限を与え、DBLINKが正しく繋がっているので、参照できるのでは??と思うのですが、
何度やっても、
---------------------------------------------------------------
ORA-04043: オブジェクト"【あ】"."【テーブル1】"は存在しません。
---------------------------------------------------------------
が表示されてしまいます。
原因として何が考えられるでしょうか…??
説明不足だったらすみません。
何か考えられる可能性があったら教えて下さい。
お礼
こんばんは、ご指摘ありがとうございます。 おっしゃる通り、DBリンクに問題がありました。 今回パブリックでDBリンクをはったのですが、 サーバ【B】のスキーマ【い】に、 このスキーマ専用のDBリンク(全然別のサーバへの物)が既にはられていて、そちらが優先されてしまっていました。 このスキーマ専用のDBリンクはテスト時に作られたもののようで誰も使っていなかったので、削除しました。 これでパブリックの方が有効になったので、無事希望通りの参照ができるようになりました。 説明が下手でよくわからなかったらごめんなさい。 とにかく解決しました。 教えて下さってありがとうございました。