Oracleのシステム権限は2つあります。DBAロール・SYSDBA権限です。
Oracleのシステム権限(DBAロール・SYSDBA権限)についての解説とシステム権限をもつユーザーを取得します。
Oracleのシステム権限 DBAロール・SYSDBA権限とは
Oracleのシステム権限はおもに2つあります。システム権限が2つあるのがややこしいですね。
- DBAロール
- SYSDBA権限
DBAロール
「DBAロール」はDBA(Database Administrator)、いわゆる「データベース管理者」という名前からわかるように、管理者の権限をもつロールです。
この「DBAロール」がいわゆるシステム権限です。
SYSDBA権限
Oracleには「DBAロール」以外に「SYSDBA権限」というシステム権限もあります。実はこの「SYSDBA権限」は前述のDBAロールよりさらに強力な権限なのです。
具体的にいうと、データベースの起動やシャットダウンができます。
Oracleデータベースが起動していない状態でも操作できるのがSYSDBA権限です。このSYSDBA権限がOracleの最上位権限になります。
Oracleのシステム権限を持つユーザーを取得する
DBAロールを持つユーザーを取得する
-- DBAロール検索 SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE ='DBA';
GRANTEE | GRANTED_ROLE | ADMIN_OPTION | DEFAULT_ROLE |
SYS | DBA | YES | YES |
SYSTEM | DBA | YES | YES |
sys_user | DBA | NO | YES |
OracleでDBAロールをもつユーザーは「dba_role_privs 」で検索できます。
「SYS」と「SYSTEM」はDBAロールをもつ、お馴染みのOracleデフォルトのユーザーですね。
SYSDBA権限をもつユーザーを取得する
-- SYSDBA権限検索 SELECT * FROM V$PWFILE_USERS;
USERNAME | SYSDBA | SYSOPER | SYSASM |
SYS | TRUE | TRUE | FALSE |
SYSDBA_USER | TRUE | FALSE | FALSE |
OracleのSYSDBA権限はOracleの最上位の権限です。SYSDBA権限は「V$PWFILE_USERS」で検索できます。
「SYS」はSYSDBA権限をもつ、お馴染みのOracleデフォルトのユーザーですね。
以上、Oracleでシステム権限(DBAロール・SYSDBA権限)をもつユーザーを取得する方法でした。
コメント