Oracleシステム権限の一覧と確認

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

データベースリンク

データベース・リンクを操作するために必要なシステム権限の一覧を次に示す。

ALTER DATABASE LINK
プライベート・データベース・リンクを変更できる。
ALTER PUBLIC DATABASE LINK
パブリック・データベース・リンクを変更できる。
CREATE DATABASE LINK
プライベート・データベース・リンクを作成および削除できる。
CREATE PUBLIC DATABASE LINK
パブリック・データベース・リンクを作成できる。
DROP PUBLIC DATABASE LINK
パブリック・データベース・リンクを削除できる。

データディクショナリ

データ・ディクショナリ・ビューを操作するために必要なシステム権限の一覧を次に示す。

SELECT ANY DICTIONARY
名前が DBA_ で始まるデータ・ディクショナリ・ビューの問い合わせ

ディレクトリ

ディレクトリを操作するために必要なシステム権限の一覧を次に示す。

CREATE ANY DIRECTORY
ディレクトリ・データベース・オブジェクトを作成できる。
DROP ANY DIRECTORY
ディレクトリ・データベース・オブジェクトを削除できる。

索引

索引(インデックス)を操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY INDEX
任意のスキーマに含まれる索引を変更できる。
CREATE ANY INDEX
任意のスキーマ内に索引を作成できる。
DROP ANY INDEX
任意のスキーマに含まれる索引を削除できる。

マテリアライズドビュー

マテリアライズド・ビューを操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY MATERIALIZED VIEW
任意のスキーマのマテリアライズド・ビューを変更できる。
CREATE ANY MATERIALIZED VIEW
任意のスキーマにマテリアライズド・ビューを作成できる。
CREATE MATERIALIZED VIEW
自分のスキーマにマテリアライズド・ビューを作成できる。
DROP ANY MATERIALIZED VIEW
任意のスキーマからマテリアライズド・ビューを削除できる。

プロシージャ等

ストアド・プロシージャストアド・ファンクション及びストアド・パッケージを操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY PRODECURE
任意のスキーマのプロシージャ、ファンクションおよびパッケージを変更できる。
CREATE ANY PRODECURE
任意のスキーマにプロシージャ、ファンクションおよびパッケージを作成できる。
CREATE PRODECURE
自分のスキーマにプロシージャ、ファンクションおよびパッケージを作成できる。
DROP ANY PRODECURE
任意のスキーマのプロシージャ、ファンクションおよびパッケージを削除できる。

ロール

ロールを操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY ROLE
ロールを変更できる。
CREATE ROLE
ロールを作成できる。
DROP ANY ROLE
ロールを削除できる。
GRANT ANY ROLE
任意のロールを付与できる。

順序

順序(シーケンス)を操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY SEQUENCE
任意のスキーマの順序を変更できる。
CREATE ANY SEQUENCE
任意のスキーマに順序を作成できる。
CREATE SEQUENCE
自分のスキーマに順序を作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP ANY SEQUENCE
任意のスキーマの順序を削除できる。
SELECT ANY SEQUENCE
任意のスキーマの順序を参照できる。

セッション

セッションを操作するために必要なシステム権限の一覧を次に示す。

ALTER SESSION
ALTER SESSION文を実行できる。
CREATE SESSION
データベースに接続できる。

表(テーブル)を操作するために必要なシステム権限の一覧を次に示す。

ALTER ANY TABLE
任意のスキーマの表を変更できる。
CREATE ANY TABLE
任意のスキーマに表を作成できる。
CREATE TABLE
自分のスキーマに表を作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP ANY TABLE
任意のスキーマの表を削除できる。
UPDATE ANY TABLE
任意のスキーマの表を更新できる。

表領域

表領域を操作するために必要なシステム権限の一覧を次に示す。

ALTER TABLESPACE
表領域を変更できる。
CREATE TABLESPACE
表領域を作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP TABLESPACE
表領域を削除できる。
UNLIMITED TABLESPACE
表領域を無制限に使用できる。ロールには付与できない。

トリガー

トリガーを操作するために必要なシステム権限の一覧を次に示す。

ALTER TRIGGER
トリガーを変更できる。
CREATE TRIGGER
トリガーを作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP TRIGGER
トリガーを削除できる。

ユーザー

ユーザーを操作するために必要なシステム権限の一覧を次に示す。

ALTER USER
ユーザーを変更できる。
CREATE USER
ユーザーを作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP USER
ユーザーを削除できる。

ビュー

ビューを操作するために必要なシステム権限の一覧を次に示す。

CREATE ANY VIEW
任意のスキーマにビューを作成できる。
CREATE VIEW
自分のスキーマにビューを作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP ANY VIEW
任意のスキーマのビューを削除できる。

廃止されたシステム権限

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

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

システム権限に関するSQL

システム権限に関するSQL文の一覧を次に示す。

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

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

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

DBA_SYS_PRIVS
ユーザおよびロールに付与されたシステム権限
USER_SYS_PRIVS
ユーザに付与されたシステム権限