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