回答:
特権が直接またはロールに付与されている場合、付与は DBA_TAB_PRIVS
SELECT grantee, privilege
FROM dba_tab_privs
WHERE owner = 'B'
AND table_name = 'MYPACKAGE'
AND privilege = 'EXECUTE'
場合はgrantee
役割である、あなたはその後を見て必要となるdba_role_privs
ユーザー(またはロール)がその役割を付与し、他のロールに付与されたロールを持っている場合はチェーンをたどるされているかを確認します。(非常に危険な)ANY
許可(つまりEXECUTE ANY PROCEDURE
)のために許可を持つユーザーを考慮する必要がある場合は、別のクエリが必要になります。
dba_tab_privs
ただし、単純にに対して単純なクエリを実行するよりも高度なものにしたい場合は、(または)のようなピートフィニガンのスクリプトを使用することをお勧めします。ピートはおそらくOracleのセキュリティの主要な専門家であるため、私が一緒に考え出そうとするものよりも、起こりうるあらゆる隅角のケースを説明する可能性がはるかに高いです。who_has_priv.sql
who_has_priv_procedure.sql