特定のユーザーがアクセスできるすべてのデータベース オブジェクトのアクセス許可を別のユーザーに付与する方法を知りたいです。
たとえば、Oracle データベースには、A、B、C、および D の 4 人のユーザーがいます。
- ユーザー A はオブジェクトを所有していませんが、B と C の特定のオブジェクトにアクセスできます。
- ユーザー B と C はいくつかのオブジェクトを所有していますが、B、C、および D の他のデータベース オブジェクトにもアクセスできます。
ここで、ユーザー B と C が持っているすべての特権をユーザー A に持たせたいと考えています (そのうちのいくつかは A が既に持っているはずです)。
これを行う適切な方法は何ですか。クエリまたはプロシージャを使用する必要がありますか? このプロシージャは常にデータベース オブジェクト所有者のログインで実行する必要がありますか? たとえば、B が D のオブジェクトにアクセスできる場合、B は D のオブジェクトの権限を A に与えることができますか?