FOO
ユーザーに属するストアドプロシージャがありますA
。ユーザーB
にはEXECUTE
権限がありFOO
ます。
の手順の1つはFOO
、DBリンクを使用してからデータを取得しますBARTABLE@REMOTEDB
。 ユーザーとして接続A
するためのDBリンクがあり、ユーザーとして接続するのと同じ名前のDBLinkがあります。REMOTEDB
AREMOTE
B
REMOTEDB
BREMOTE
B
実行時FOO
に、A
のDBリンク(として接続AREMOTE
)またはB
のDBリンク(として接続BREMOTE
)を使用しますか?
EXECUTE
特定のユーザーに属するプロシージャは、別のユーザーがそのプロシージャを使用している場合でも、そのユーザーのdblinkにしかアクセスできないと想定したためです。しかし、どういうわけか、ユーザーAREMOTE
がを持っていなくてSELECT
も、この手順は正しく機能してBARTABLE@REMOTEDB
いるので、私は混乱しています。