Oracle 12cでロールを作成、削除する

2021年11月15日

環境
Oracle 12.2.0.1.0
A5:SQL Mk-2

書式
GRANT ロール名 TO <ユーザ名 | PUBLIC> <WITH ADMIN OPTION>;

パラメータの説明
PUBLIC:全てのユーザーにロールを付与
ユーザ名:指定ユーザに対してロールを付与する
WITH ADMIN OPTION:他のユーザへロール付与、取消

使用例
1.ロールを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE ROLE TESTROLE
CREATE ROLE TESTROLE
CREATE ROLE TESTROLE

権限を与える

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
GRANT CREATE SESSION, SELECT ANY TABLE TO TESTROLE;
GRANT CREATE SESSION, SELECT ANY TABLE TO TESTROLE;
GRANT CREATE SESSION, SELECT ANY TABLE TO TESTROLE;

作成確認

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE = 'TESTROLE'
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE = 'TESTROLE'
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE  = 'TESTROLE'

2.ロールを削除します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DROP ROLE TESTROLE
DROP ROLE TESTROLE
DROP ROLE TESTROLE

削除後確認
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE = 'TESTROLE’

Oracle 12c

Posted by arkgame