オブジェクト権限

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

目次

  1. ALTER
  2. DELETE
  3. EXECUTE
  4. INDEX
  5. INSERT
  6. REFERENCES
  7. SELECT
  8. UPDATE
  9. READ
  10. WRITE

オブジェクト権限の一覧

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

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

ALTER

ALTER は、この表や順序を変更できるオブジェクト権限である。

DELETE

DELETE は、この表から行を削除できるオブジェクト権限である。

EXECUTE

EXECUTE は、このパッケージ、プロシージャ又はファンクションを実行できるオブジェクト権限である。

INDEX

INDEX は、この表又はマテリアライズド・ビューに存在する列に対して索引を作成できるオブジェクト権限である。

INSERT

INSERT は、この表に行を追加できるオブジェクト権限である。

REFERENCES

REFERENCES は、この表に存在する列を参照する制約を作成できるオブジェクト権限である。

SELECT

SELECT は、この表に対して問い合わせできるオブジェクト権限である。

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

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

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

SQL> SELECT * FROM emp;

UPDATE

UPDATE は、この表に存在する行を更新できるオブジェクト権限である。

SQL> GRANT READ ON emp TO tsuka;

READ

READ は、このディレクトリ内のファイルを読み取れるオブジェクト権限である。

SQL> GRANT READ ON example_dir TO tsuka;

WRITE

WRITE は、このディレクトリ内のファイルに書き込めるオブジェクト権限である。

SQL> GRANT WRITE ON example_dir TO tsuka;

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
自分が権限受領者であるオブジェクトの権限付与