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 | × | 〇 |