ユーザーが受け取ったすべての助成金を一覧表示するにはどうすればいいですか? 質問する

ユーザーが受け取ったすべての助成金を一覧表示するにはどうすればいいですか? 質問する

Oracle DB のすべての権限付与を確認する必要があります。

TOAD 機能を使用してスキーマを比較しましたが、誘惑的な許可などが表示されないので、質問があります。

Oracle DB のすべての権限を一覧表示するにはどうすればよいでしょうか?

ベストアンサー1

直接的なテーブル付与以上のもの (ロール経由の付与、任意のテーブルの選択などのシステム権限など) が必要な場合は、次の追加クエリを実行します。

ユーザーのシステム権限:

SELECT PRIVILEGE
  FROM sys.dba_sys_privs
 WHERE grantee = <theUser>
UNION
SELECT PRIVILEGE 
  FROM dba_role_privs rp JOIN role_sys_privs rsp ON (rp.granted_role = rsp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY 1;

テーブル/ビューへの直接付与:

SELECT owner, table_name, select_priv, insert_priv, delete_priv, update_priv, references_priv, alter_priv, index_priv 
  FROM table_privileges
 WHERE grantee = <theUser>
 ORDER BY owner, table_name;

テーブル/ビューへの間接的な付与:

SELECT DISTINCT owner, table_name, PRIVILEGE 
  FROM dba_role_privs rp JOIN role_tab_privs rtp ON (rp.granted_role = rtp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY owner, table_name;

おすすめ記事