プロが教える店舗&オフィスのセキュリティ対策術

サーバ【A】のスキーマ【あ】にDB【テーブル1】があります。
サーバ【A】のスキーマ【い】に、【あ】からセレクト権限を与えた所、【い】から【テーブル1】を参照できるようになりました。

次に、
サーバ【B】からサーバ【A】にDBLINKをはりました。
(tnspingで接続されているのを確認済)。
これで、
サーバ【B】のスキーマ【あ】からDBLINK経由で【テーブル1】を参照できるようになりました。

しかし、サーバ【B】のスキーマ【い】から【テーブル1】が参照できません。

私としては、スキーマ同士の権限を与え、DBLINKが正しく繋がっているので、参照できるのでは??と思うのですが、
何度やっても、
---------------------------------------------------------------
ORA-04043: オブジェクト"【あ】"."【テーブル1】"は存在しません。
---------------------------------------------------------------
が表示されてしまいます。

原因として何が考えられるでしょうか…??
説明不足だったらすみません。
何か考えられる可能性があったら教えて下さい。

A 回答 (1件)

データベースリンクの定義が適切ではないのだと思います。



サーバBからサーバAへのデータベースリンクでの権限は、
データベースリンク定義に書かれているユーザで決まります。

どのような定義にしたんですか?
    • good
    • 0
この回答へのお礼

こんばんは、ご指摘ありがとうございます。
おっしゃる通り、DBリンクに問題がありました。

今回パブリックでDBリンクをはったのですが、
サーバ【B】のスキーマ【い】に、
このスキーマ専用のDBリンク(全然別のサーバへの物)が既にはられていて、そちらが優先されてしまっていました。
このスキーマ専用のDBリンクはテスト時に作られたもののようで誰も使っていなかったので、削除しました。
これでパブリックの方が有効になったので、無事希望通りの参照ができるようになりました。

説明が下手でよくわからなかったらごめんなさい。
とにかく解決しました。
教えて下さってありがとうございました。

お礼日時:2005/11/04 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!