GRANT の基本構文

GRANT システム権限 TO {ユーザー名|ロール名|PUBLIC} [WITH ADMIN OPTION]

GRANT オブジェクト権限 ON {オブジェクト名} TO {ユーザー名|ロール名|PUBLIC} [WITH GRANT OPTION]

  • システム権限は、Oracle を管理するための権限でデータベース全体に対する権限。
  • オブジェクト権限は、テーブルなどのオブジェクト(非スキーマ 含む)に対する権限。

WITH ADMIN OPTION or WITH GRANT OPTION を付けると与えられた権限を再度別のユーザーに対して付与することができる状態になる。

⇒ もう少し詳しく オブジェクト権限とシステム権限

テーブルに対する権限を付与する

  • rivus というユーザーが admin というユーザーのテーブル my_table に対して SELECT、UPDATE、DELETE、INSERT できるようにする。

insert / select / update / delete オブジェクト権限の付与

GRANT select,update,delete,insert ON admin.my_table TO rivus
  • rivus というユーザーが 全ユーザー のテーブルに対して SELECT、UPDATE、DELETE、INSERT できるようにする。

insert any table / select any table / update any table / delete any table システム権限の付与

GRANT select any table,update any table,delete any table,insert any table TO rivus

テーブルに関するオブジェクト権限

DML 関連

DDL 関連

  • ALTER (ALTER TABLE) / DEBUG (デバッガ経由のトリガーなどへのアクセス)
  • INDEX (CREATE INDEX) / REFERENCES (表参照制約 の作成)

以上すべて

  • ALL

のオブジェクト権限がある。

  • rivus というユーザーが admin というユーザーのテーブル my_table に対して、ほとんどの操作ができるようにする。

all オブジェクト権限の付与

GRANT all ON admin.my_table TO rivus

テーブルに関するのシステム権限

  • INSERT ANY / SELECT ANY / UPDATE ANY / DELETE ANY
  • FLASHBACK ANY / LOCK ANY
  • CREATE / CREATE ANY / ALTER ANY / BACKUP ANY / DROP ANY

プロシージャやパッケージを実行するための権限付与

  • rivus というユーザーが admin というユーザーのパッケージ my_package実行 できるようにする。

execute オブジェクト権限の付与

GRANT execute ON admin.my_package TO rivus
  • rivus というユーザーが 組み込みパッケージ dbms_lock実行 できるようにする。

execute オブジェクト権限の付与

GRANT execute ON dbms_lock TO rivus
  • rivus というユーザーが 全てのストアドプロシージャ実行 できるようにする。
GRANT execute any procedure TO rivus
 


GRANT 関連事項

  • REVOKE
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト