sql >> データベース >  >> RDS >> Oracle

Oracleのユーザーからのすべての特権を表示するにはどうすればよいですか?

    以下のビューを試すことができます。

    SELECT * FROM USER_SYS_PRIVS; 
    SELECT * FROM USER_TAB_PRIVS;
    SELECT * FROM USER_ROLE_PRIVS;
    

    DBAおよびその他のパワーユーザーは、DBA_を使用して他のユーザーに付与された権限を見つけることができます。 これらの同じビューのバージョン。それらはドキュメントでカバーされています。

    これらのビューには、直接付与された権限のみが表示されます。 ユーザーに。 すべてを検索する ロールを介して間接的に付与される特権を含む特権には、より複雑な再帰SQLステートメントが必要です。

    select * from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER' order by 1,2,3;
    select * from dba_sys_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3;
    select * from dba_tab_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3,4;
    


    1. マクロまたはVBAコードを使用する必要がありますか?

    2. Oracle 11g(クライアント)をアンインストール/完全に削除する方法は?

    3. 秒なしでDateTime値データから抽出する方法

    4. SQLServerのMaven依存関係の設定