オブジェクト権限とは、表やビュー、行、ストアドプロシージャなどのオブジェクトに対する権限のことです。オブジェクト権限の種類には、以下のようなものがあります。
Oracleデータベースにおけるオブジェクト権限の一覧を次に示す。
オブジェクト権限 | ファンクション | パッケージ | プロシージャ | 順序 | シノニム | 表 | ビュー |
---|---|---|---|---|---|---|---|
ALTER | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ |
DEBUG | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
DELETE | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
EXECUTE | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
INDEX | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ |
INSERT | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
MERGE VIEW | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
REFERENCES | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
SELECT | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
UNDER | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
UPDATE | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
ALTER は、この表や順序を変更できるオブジェクト権限である。
DELETE は、この表から行を削除できるオブジェクト権限である。
EXECUTE は、このパッケージ、プロシージャ又はファンクションを実行できるオブジェクト権限である。
INDEX は、この表又はマテリアライズド・ビューに存在する列に対して索引を作成できるオブジェクト権限である。
INSERT は、この表に行を追加できるオブジェクト権限である。
REFERENCES は、この表に存在する列を参照する制約を作成できるオブジェクト権限である。
SELECT は、この表に対して問い合わせできるオブジェクト権限である。
表の所有者が他のユーザに SELECT 権限を付与する例を以下に示す。
SQL> GRANT SELECT ON emp TO tsuka WITH GRANT OPTION;
表の SELECT 権限を付与されたユーザは、その表に対して問い合わせができる。
SQL> SELECT * FROM emp;
UPDATE は、この表に存在する行を更新できるオブジェクト権限である。
SQL> GRANT READ ON emp TO tsuka;
READ は、このディレクトリ内のファイルを読み取れるオブジェクト権限である。
SQL> GRANT READ ON example_dir TO tsuka;
WRITE は、このディレクトリ内のファイルに書き込めるオブジェクト権限である。
SQL> GRANT WRITE ON example_dir TO tsuka;
オブジェクト権限を操作するSQL文の一覧を次に示す。
オブジェクト権限に関するデータ・ディクショナリ・ビューを次に示す。