システム権限とは、Oracleデータベースを操作するために必要な権限のことです。この記事では、システム権限の一覧と付与や確認の方法をご紹介します。

システム権限の一覧

Oracleデータベースには、次のシステム権限がある。

システム権限の一覧
分類 システム権限 許可される操作
DIRECTORY CREATE ANY DIRECTORY ディレクトリ・データベース・オブジェクトの作成
DROP ANY DIRECTORY ディレクトリ・データベース・オブジェクトの削除
INDEX ALTER ANY INDEX 任意のスキーマに含まれる索引を変更する。
CREATE ANY INDEX 任意のスキーマ内に索引を作成する。
DROP ANY INDEX 任意のスキーマに含まれる索引を削除する。
MATERIALIZED VIEW ALTER ANY MATERIALIZED VIEW 任意のスキーマのマテリアライズド・ビューを変更する。
CREATE ANY MATERIALIZED VIEW 任意のスキーマにマテリアライズド・ビューを作成する。
CREATE MATERIALIZED VIEW 自分のスキーマにマテリアライズド・ビューを作成する。
DROP ANY MATERIALIZED VIEW 任意のスキーマからマテリアライズド・ビューを削除する。
PRODECURE ALTER ANY PRODECURE 任意のスキーマのプロシージャ、ファンクション及びパッケージを変更する。
CREATE ANY PRODECURE 任意のスキーマにプロシージャ、ファンクション及びパッケージを作成する。
CREATE PRODECURE 自分のスキーマにプロシージャ、ファンクション及びパッケージを作成する。
DROP ANY PRODECURE 任意のスキーマのプロシージャ、ファンクション及びパッケージを削除する。
ROLE ALTER ANY ROLE ロールの変更
CREATE ROLE ロールの作成
DROP ANY ROLE ロールの削除
GRANT ANY ROLE 任意のロールの付与
SEQUENCE ALTER ANY SEQUENCE 任意のスキーマの順序を変更する。
CREATE ANY SEQUENCE 任意のスキーマに順序を作成する。
CREATE SEQUENCE 自分のスキーマに順序を作成する。
DROP ANY SEQUENCE 任意のスキーマの順序を削除する。
SELECT ANY SEQUENCE 任意のスキーマの順序を参照する。
SESSION ALTER SESSION ALTER SESSION文の実行
CREATE SESSION データベースに接続する。
TABLE ALTER ANY TABLE 任意のスキーマの表を変更する。
CREATE ANY TABLE 任意のスキーマに表を作成する。
CREATE TABLE 自分のスキーマに表を作成する。
DROP ANY TABLE 任意のスキーマの表を削除する。
UPDATE ANY TABLE 任意のスキーマの表を更新する。
TABLESPACE ALTER TABLESPACE 表領域の変更
CREATE TABLESPACE 表領域の作成
DROP TABLESPACE 表領域の削除
UNLIMITED TABLESPACE 表領域の無制限な使用(ロールには付与できない)
TRIGGER ALTER TRIGGER トリガーを変更する。
CREATE TRIGGER トリガーを作成する。
DROP TRIGGER トリガーを削除する。
VIEW CREATE ANY VIEW 任意のスキーマにビューを作成する。
CREATE VIEW 自分のスキーマにビューを作成する。
DROP ANY VIEW 任意のスキーマのビューを削除する。
USER ALTER USER ユーザーの変更
CREATE USER ユーザーの作成
DROP USER ユーザーの削除

なお、自分が作成したオブジェクトは削除もすることができます。

オラクルの過去リリースにおいて存在したシステム権限で、現在では廃止されたものもある。これらについては、互換性を確保するために、同名のロールが用意されている。

これらのロールに付与されたシステム権限は、DBA_SYS_PRIVSデータディクショナリビューを問い合わせることによって調べることができる。

システム権限に関するSQL

システム権限に関するSQL文を示す。

システム権限に関するSQL
SQL 説明
GRANT ユーザやロールにシステム権限を付与する。
REVOKE ユーザやロールからシステム権限を剥奪する。

システム権限に関するデータディクショナリビュー

システム権限に関するデータディクショナリビューを示す。

システムト権限に関するデータディクショナリビュー
データディクショナリビュー 説明
DBA_SYS_PRIVS ユーザ及びロールに付与されたシステム権限
USER_SYS_PRIVS ユーザに付与されたシステム権限