OracleDBではデフォルトで作られている管理者ユーザがあり、それらの名前が管理者権限や管理者ロールと似ていてめちゃくちゃややこしいので、整理した。
1. 管理者ユーザ
ユーザ\権限・ロール |
SYSDBA |
SYSOPER |
DBAロール |
SYS |
〇 |
〇 |
〇 |
SYSTEM |
× |
× |
〇 |
2. 管理者権限・ロール
権限・ロール |
特徴 |
SYSOPER |
インスタンスの起動・停止ができる |
SYSDBA |
あらゆる権限を持つ |
SYSBACKUP |
バックアップ・リカバリの権限を持つ |
SYSDG |
Data Guard操作の権限を持つ |
SYSKM |
透過的データ暗号化キーストア操作の権限を持つ |
DBAロール(権限ではない) |
全てのシステム権限を持つが、インスタンスの起動・停止はできない |
3. 管理者権限SYSOPERとSYSDBAの対照表
操作 |
SYSOPER |
SYSDBA |
起動・停止 |
〇 |
〇 |
ALTER DATABASE(Open, Mount, Backup) |
〇 |
〇 |
ALTER DATABASE(キャラクタセットの変更) |
× |
〇 |
CREATE SPFILE |
〇 |
〇 |
ALTER DATABASE ARCHIVELOG |
〇 |
〇 |
ALTER DATABASE RECOVER |
完全リカバリのみ |
〇 |
RESTRICTED SESSION権限を含む |
〇 |
〇 |
CREATE DATABASE |
× |
〇 |
DROP DATABASE |
× |
〇 |