オブジェクト権限

オブジェクト権限とは、表やビュー、行、ストアドプロシージャなどのオブジェクトに対する権限のことです。オブジェクト権限の種類には、以下のようなものがあります。

オブジェクトと権限
オブジェクト権限 ファンクション パッケージ プロシージャ 順序 シノニム ビュー
ALTER
DEBUG
DELETE
EXECUTE
INDEX
INSERT
MERGE VIEW
REFERENCES
SELECT
UNDER
UPDATE

オブジェクト権限の一覧

Oracleデータベースにおけるオブジェクト権限の一覧を次に示す。

ALTER
この表や順序を変更できる。
DELETE
この表から行を削除できる。
EXECUTE
このパッケージプロシージャ又はファンクションを実行できる。
INDEX
この表又はマテリアライズド・ビューに存在する列に対して索引を作成できる。
INSERT
この表に行を追加できる。
REFERENCES
この表に存在する列を参照する制約を作成できる。
SELECT
この表に対して問い合わせできる。

表の所有者が他のユーザに SELECT 権限を付与する例を以下に示す。

SQL> GRANT SELECT ON emp TO tsuka WITH GRANT OPTION;

表の SELECT 権限を付与されたユーザは、その表に対して問い合わせができる。

SQL> SELECT * FROM emp;
UPDATE
この表に存在する行を更新できる。
READ
このディレクトリ内のファイルを読み取れる。
WRITE
このディレクトリ内のファイルに書き込める。

SQL文

オブジェクト権限を操作するSQL文の一覧を次に示す。

GRANT
ユーザやロールにオブジェクト権限を付与する。
REVOKE
ユーザやロールからオブジェクト権限を剥奪する。

データディクショナリ

オブジェクト権限に関するデータ・ディクショナリ・ビューを次に示す。

ALL_COL_PRIVS
自分が持つ列オブジェクト権限、自分に付与されたロールが持つ列オブジェクト権限及びPUBLICが持つ列オブジェクト権限
ALL_COL_PRIVS_MADE
自分が所有者である列オブジェクト権限及び自分が付与者である列オブジェクト権限
ALL_COL_PRIVS_RECD
自分が権限授与者である列オブジェクト権限、自分に付与されたロールが権限授与者である列オブジェクト権限及びPUBLICが権限授与者である列オブジェクト
ALL_TAB_PRIVS
自分のオブジェクト権限、自分に付与されたロールのオブジェクト権限、PUBLICのオブジェクト権限
ALL_TAB_PRIVS_MADE
自分がオブジェクトの所有者であるオブジェクトの権限付与及び自分が権限付与者であるオブジェクトの権限付与
ALL_TAB_PRIVS_RECD
自分が権限受領者であるオブジェクトの権限付与、自分に与えられたロールが権限受領者であるオブジェクトの権限付与及びPUBLICが権限受領者であるオブジェクトの権限付与
DBA_COL_PRIVS
すべての列オブジェクト権限
DBA_COL_PRIVS_MADE
自分が所有者である列オブジェクト権限
DBA_TAB_PRIVS
すべてのオブジェクト権限
USER_COL_PRIVS
自分が持つ列オブジェクト権限
USER_COL_PRIVS_MADE
自分が権限授与者である列オブジェクト権限
USER_COL_PRIVS_RECD
自分が権限受領者である列オブジェクトの権限付与
USER_TAB_PRIVS
自分が所有者であるオブジェクトの権限付与、自分が権限付与者であるオブジェクトの権限付与及び自分が権限受領者であるオブジェクトの権限付与
USER_TAB_PRIVS_MADE
自分が所有者であるオブジェクトの権限付与
USER_TAB_PRIVS_RECD
自分が権限受領者であるオブジェクトの権限付与