Oracleでユーザに割り当てられたロールと、ロールに割り当てられている権限を調べる方法。
忘れがちなのでメモ
環境
SQL> select banner_full from v$version; BANNER_FULL -------------------------------------------------------------------------------- Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0
ユーザに割り当てられたロールと、ロールに割り当てられている権限を調べる
ユーザに割り当てられたロールを調べる
SELECT GRANTEE ,GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='SCOTT'; GRANTEE -------------------------------------------------------------------------------- GRANTED_ROLE -------------------------------------------------------------------------------- SCOTT RESOURCE SCOTT PLUSTRACE SCOTT CONNECT
ロールに含まれる権限を調べる
SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT' ORDER BY PRIVILEGE; PRIVILEGE ---------------------------------------- CREATE SESSION SET CONTAINER
ユーザを作ったらとりあえずCONNECTロールを付与することを忘れずにいたいですね。