プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

GRANT

用途

GRANT文を使用すると、次の権限またはロールを付与できます。

  • ユーザーおよびロールに対するロール。付与されたロールは、ユーザー定義(ローカルまたは外部)または事前定義済のいずれかです。事前定義されているロールのリストは、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • ユーザーおよびロールに対するシステム権限。表18-1に、システム権限のリストを、操作対象のデータベース・オブジェクト別に示します。

  • ユーザー、ロールおよびPUBLICに対する、特定のオブジェクトに対するオブジェクト権限。表18-2に、オブジェクト権限のリストを、操作対象のデータベース・オブジェクト別に示します。


注意:

グローバル・ロール(IDENTIFIED GLOBALLYで作成)は、エンタープライズ・ロールを介して付与します。GRANT文を使用して付与することはできません。

データベース・ユーザーの認可の注意事項: データベース・ユーザーを認可する方法は、データベースやGRANT文を介して行う以外にもあります。

  • 多くのOracle Database権限は、提供されるPL/SQLパッケージおよびJavaパッケージを介して付与されます。これらの権限の詳細は、該当するパッケージのドキュメントを参照してください。

  • オペレーティング・システムによっては、Oracle Databaseユーザーに対して、初期化パラメータOS_ROLESでロールを付与できます。オペレーティング・システム機能を使用してユーザーにロールを付与する場合、GRANT文でユーザーにロールを付与することはできなくなります。ただし、GRANT文を使用して、ユーザーにシステム権限を付与したり、その他のロールにシステム権限およびロールを付与することはできます。

Oracle Automatic Storage Managementの注意事項: AS SYSASMと認証されたユーザーは、この文を使用すると、システム権限SYSASMSYSOPERおよびSYSDBAを現行ノードのOracle ASMパスワード・ファイルのユーザーに付与できます。

エディション化可能なオブジェクトの注意事項: 

エディション化可能なオブジェクトにオブジェクト権限を付与するGRANT操作を実行すると、オブジェクトが現行のエディションで実体化されます。エディションおよびエディション化可能なオブジェクトの詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。


関連項目:

  • ローカル、グローバルおよび外部権限の定義については、「CREATE USER」および「CREATE ROLE」を参照してください。

  • その他の認可方法および権限の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • 権限付与の取消しについては、「REVOKE」を参照してください。


前提条件

システム権限を付与にするには、次のいずれかの条件が満たされている必要があります。

  • GRANT ANY PRIVILEGEシステム権限が付与されている必要があります。この場合、ロールがユーザーのセッションで有効になっていないかぎり、システム権限をロールに付与しても、ロールが付与されているユーザーに権限は付与されません。

  • ADMIN OPTION付きのシステム権限が付与されている必要があります。この場合、ロールがユーザーのセッションで有効になっているかどうかに関係なく、システム権限をロールに付与すると、ロールが付与されているユーザーに権限が付与されます。

ロールを付与する場合は、ADMIN OPTION付きのロールが付与されているか、GRANT ANY ROLEシステム権限が付与されているか、または付与するロールが自分で作成したロールである必要があります。

オブジェクト権限を付与する場合は、オブジェクトの所有者であるか、オブジェクトの所有者からGRANT OPTION付きのオブジェクト権限が付与されている必要があります。または、GRANT ANY OBJECT PRIVILEGEシステム権限が付与されている必要があります。GRANT ANY OBJECT PRIVILEGEを持っている場合は、オブジェクトの所有者が付与可能なオブジェクト権限と同じオブジェクト権限のみを付与できます。その場合、DBA_TAB_PRIVSビューのGRANTOR列には、GRANT文を発行したユーザーではなく、オブジェクトの所有者が表示されます。

セマンティクス

grant_system_privileges

システム権限を付与するには、次の句を使用します。

system_privilege

付与するシステム権限を指定します。表18-1に、システム権限のリストを、操作対象のデータベース・オブジェクト別に示します。

  • ユーザーに権限を付与する場合、ユーザーの権限ドメインに権限が登録されます。このユーザーはその権限をすぐに使用できます。ANY権限は、信頼できるユーザーにのみ付与することをお薦めします。

  • ロールに権限を付与する場合、ロールの権限ドメインに権限が登録されます。ロールが付与されているまたは使用可能となっているユーザーは、その権限をすぐに使用できます。なお、ロールが付与されている他のユーザーも、そのロールを使用可能にしてその権限を使用できます。

  • PUBLICに権限を付与する場合、各ユーザーの権限ドメインに権限が登録されます。すべてのユーザーは、その権限によって許可される操作をすぐに実行できます。システム権限をPUBLICに付与しないことをお薦めします。

Oracle Databaseには、ALL PRIVILEGESというショートカットも用意されており、このショートカットを使用すると、SELECT ANY DICTIONARYALTER DATABASE LINKおよびALTER PUBLIC DATABASE LINK権限を除き、表18-1に示すすべてのシステム権限を付与できます。

role

付与するロールを指定します。Oracle Databaseの事前定義ロールまたはユーザー定義ロールを付与できます。

  • ユーザーにロールを付与する場合、そのユーザーが、付与されたロールを使用できます。ユーザーはそのロールをすぐに使用可能にし、ロールの権限ドメインに登録されている権限を使用できます。

    保護アプリケーション・ロールは、ユーザーに直接付与する必要はありません。ユーザーが適切なセキュリティ・ポリシーを渡すことを前提として、関連付けられたPL/SQLパッケージでこの処理を行うことができます。詳細は、「USING packageの「CREATE ROLEセマンティクス」および『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • 他のロールにロールを付与する場合、権限受領者のロールの権限ドメインに、権限付与者のロールの権限ドメインが登録されます。権限受領者のロールを付与されているユーザーは、それを使用可能にした場合、付与されたロールの権限ドメイン内の権限を使用できます。

  • PUBLICにロールを付与する場合、すべてのユーザーがロールを使用できます。すべてのユーザーはそのロールをすぐに使用可能にし、ロールの権限ドメインに登録されている権限を使用できます。


関連項目:


IDENTIFIED BY句

この句は、オブジェクト権限ではなくシステム権限を割り当てる場合にのみ有効です。IDENTIFIED BY句を使用すると、既存ユーザーの新しいパスワードを指定したり、または存在しないユーザーを作成できます。この句は、権限受領者がロールまたはPUBLICの場合は無効です。grantee_clauseに指定したユーザーが存在しない場合、この句で指定したパスワードおよび権限とロール付きでユーザーが作成されます。


関連項目:

ユーザー名およびパスワードの制限事項については、「CREATE USER」を参照してください。

WITH ADMIN OPTION

WITH ADMIN OPTIONを指定すると、権限受領者は次のことができます。

  • ロールがGLOBALロールでない場合、権限またはロールを他のユーザーまたはロールに付与できます。

  • 権限またはロールを他のユーザーまたは他のロールから取り消すことができます。

  • 権限またはロールへのアクセスに必要な認可を変更するため、その権限またはロールを変更できます。

  • 権限またはロールを削除します。

たとえば、WITH ADMIN OPTIONを指定せずにユーザーにロールまたはシステム権限を付与し、後でWITH ADMIN OPTIONを指定してその権限およびロールを付与した場合、そのユーザーはその権限またはロールに関してADMIN OPTIONを持つことになります。

システム権限またはロールのADMIN OPTIONをユーザーから取り消す場合、そのユーザーの権限またはロールを完全に取り消し、その次にADMIN OPTIONを指定せずに権限またはロールをユーザーに付与します。

grantee_clause

TO grantee_clauseを使用すると、システム権限、ロールまたはオブジェクト権限が付与されているユーザーまたはロールを識別できます。

権限受領者の制限事項: 各ユーザー、ロールまたはPUBLICはそれぞれ、TO grantee_clauseに1回のみ指定可能です。

PUBLIC 

PUBLICを指定すると、すべてのユーザーに権限を付与できます。システム権限をPUBLICに付与しないことをお薦めします。

システム権限およびロールの付与の制限事項: 権限およびロールには、次の制限事項があります。

  • 付与する権限およびロールのリストに、権限またはロールを指定できるのは1回のみです。

  • ロールに対してそのロールと同じロールは付与できません。

  • ロールIDENTIFIED GLOBALLYは、どのようなユーザーまたはロールに対しても付与できません。

  • ロールIDENTIFIED EXTERNALLYは、グローバル・ユーザーまたはグローバル・ロールに対して付与できません。

  • ロールは交互に付与できません。たとえば、ロールbankerをロールtellerに付与した場合、逆にtellerbankerに付与することはできません。

  • IDENTIFIED BYロール、IDENTIFIED USINGロールおよびIDENTIFIED EXTERNALLYロールの別のロールへの付与はできません。

grant_object_privileges

オブジェクト権限を付与するには、次の句を使用します。

object_privilege

付与するオブジェクト権限を指定します。表18-2に、オブジェクト権限のリストを、付与されるオブジェクトのタイプ別に示します。ユーザーまたはロールのいずれかのオブジェクト権限をエディション化可能なオブジェクトに付与すると、オブジェクトは付与したエディションで実体化されます。エディション化可能なオブジェクト型およびエディションの詳細は、「CREATE EDITION」を参照してください。


注意:

ビューに対するSELECTを他のユーザーに付与するには、ビューの基礎となるすべてのオブジェクトを所有しているか、またはこれらすべての基礎となるオブジェクトに対するSELECTオブジェクト権限をWITH GRANT OPTIONで付与されている必要があります。これは、これらの基礎となるオブジェクトに対するSELECT権限を権限受領者がすでに持っている場合にも当てはまります。

オブジェクト権限の制限事項: 付与する権限のリストに権限を指定できるのは1回のみです。

ALL [PRIVILEGES]

ALLを指定すると、GRANT OPTION付きで付与されているオブジェクト権限に対するすべての権限を付与できます。オブジェクトが定義されているスキーマを所有しているユーザーは、自動的にGRANT OPTION付きのオブジェクトに対するすべての権限を持っています。キーワードPRIVILEGESはセマンティクスを明確にするためのものであり、指定は任意です。

column

権限を付与する表またはビューの列を指定します。INSERTREFERENCESまたはUPDATEの各権限を付与する場合にのみ、列を指定できます。列を指定しない場合、権限受領者には表またはビューのすべての列に対して指定した権限が付与されます。

既存の列オブジェクトに対して付与された権限については、データ・ディクショナリ・ビューUSER_COL_PRIVSALL_COL_PRIVSまたはDBA_COL_PRIVSを問い合せます。


関連項目:

データ・ディクショナリ・ビューの詳細は、『Oracle Databaseリファレンス』および「別々の列に複数のオブジェクト権限を付与する例:」を参照してください。

on_object_clause

on_object_clauseを指定すると、権限が付与されているオブジェクトを識別できます。ディレクトリ・スキーマ・オブジェクト、エディション、データ・マイニング・モデル、Javaソースおよびリソース・スキーマ・オブジェクトは、異なるネームスペースに格納されるため、別々に識別されます。

objectの所有者でもなく、object WITH GRANT OPTIONobject_privilegeが付与されてもいないが、GRANT ANY OBJECT PRIVILEGEシステム権限が付与されているためこの権限付与を行える場合、この権限付与を行うと、オブジェクト所有者の役割を果たすことになります。*_TAB_PRIVSデータ・ディクショナリ・ビューには、この権限付与がobjectの所有者によって行われたことが反映されます。


関連項目:


WITH GRANT OPTION

WITH GRANT OPTIONを指定すると、権限受領者による、他のユーザーまたはロールに対するオブジェクト権限の付与を許可できます。

たとえば、WITH GRANT OPTIONを指定せずにユーザーにオブジェクト権限を付与し、後でWITH GRANT OPTIONを指定してその権限を付与した場合、そのユーザーはその権限に関してGRANT OPTIONを持つことになります。

オブジェクト権限のGRANT OPTIONをユーザーから取り消す場合、そのユーザーの権限を完全に取り消し、その次にGRANT OPTIONを指定せずに権限をユーザーに付与する必要があります。

With Grant Optionの付与の制限事項: WITH GRANT OPTIONは、ユーザーまたはPUBLICに権限を付与する場合にのみ指定できます。ロールに付与する場合は指定できません。

WITH HIERARCHY OPTION

WITH HIERARCHY OPTIONを指定すると、この文の後に作成されるサブオブジェクトも含め、objectのすべてのサブオブジェクト(ビューを基に作成したサブビューなど)に対する指定したオブジェクト権限を付与できます。

この句は、SELECTオブジェクト権限とあわせて指定する場合のみ意味があります。

object 権限を付与するスキーマ・オブジェクトを指定します。objectschemaで修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。オブジェクトには次のタイプがあります。

  • 表、ビューまたはマテリアライズド・ビュー

  • 順序

  • プロシージャ、ファンクションまたはパッケージ

  • ユーザー定義型

  • これらの項目のシノニム

  • ディレクトリ、ライブラリ、演算子または索引タイプ

  • Javaソース、クラスまたはリソース

パーティション表の単一パーティションに直接権限を付与することはできません。

DIRECTORY directory_name 権限を付与するディレクトリ・スキーマ・オブジェクトを指定します。directory_nameはスキーマ名で修飾できません。

JAVA SOURCE | RESOURCE JAVA句を使用すると、権限を付与するJavaソースまたはリソース・スキーマ・オブジェクトを指定できます。


関連項目:

「CREATE JAVA」

システム権限およびオブジェクト権限


注意:

オブジェクトに対してANY権限(CREATE ANY CLUSTERなど)を付与する場合、結果は、O7_DICTIONARY_ACCESSIBILITY初期化パラメータの値によって決まります。このパラメータはデフォルトではFALSEに設定されているため、ANY権限の受領者はすべてのスキーマ内の該当するタイプのオブジェクトにアクセスできますが、SYSスキーマにはアクセスできません。O7_DICTIONARY_ACCESSIBILITYTRUEに設定した場合、ANY権限の受領者は、SYSスキーマ内のOracleスケジューラ・オブジェクト以外のすべてのオブジェクトにアクセスできます。セキュリティ上の理由のため、この設定の使用には注意が必要です。

表18-1 システム権限(操作対象のデータベース・オブジェクト別)

システム権限名 許可される操作

アドバイザ・フレームワーク権限(すべてのアドバイザ・フレームワーク権限は、DBAロールに含まれています。)


ADVISOR

PL/SQLパッケージ(DBMS_ADVISORDBMS_SQLTUNEなど)を介したアドバイザ・フレームワークへのアクセス。

これらのパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

ADMINISTER SQL TUNING SET

DBMS_SQLTUNEパッケージを介した、権限受領者が所有するSQLチューニング・セットの作成、削除、選択(読取り)およびロード(書込み)。

ADMINISTER ANY SQL TUNING SET

DBMS_SQLTUNEパッケージを介した、任意のユーザーが所有するSQLチューニング・セットの作成、削除、選択(読取り)およびロード(書込み)。

CREATE ANY SQL PROFILE

Enterprise ManagerまたはDBMS_SQLTUNEパッケージを介してアクセスする、SQLチューニング・アドバイザが推奨したSQLプロファイルの受入れ。

注意: この権限は現在非推奨になっています。かわりに、ADMINISTER SQL MANAGEMENT OBJECTを使用してください。

ALTER ANY SQL PROFILE

既存のSQLプロファイルの属性の変更。

注意: この権限は現在非推奨になっています。かわりに、ADMINISTER SQL MANAGEMENT OBJECTを使用してください。

DROP ANY SQL PROFILE

既存のSQLプロファイルの削除。

注意: この権限は現在非推奨になっています。かわりに、ADMINISTER SQL MANAGEMENT OBJECTを使用してください。

ADMINISTER SQL MANAGEMENT OBJECT

DBMS_SQLTUNEパッケージを介して任意のユーザーが所有しているSQLプロファイルの作成、変更および削除。

CLUSTERS:


CREATE CLUSTER

権限を付与したスキーマ内でのクラスタの作成。

CREATE ANY CLUSTER

任意のスキーマ内でのクラスタの作成。CREATE ANY TABLEと同様に動作します。

ALTER ANY CLUSTER

任意のスキーマ内でのクラスタの変更。

DROP ANY CLUSTER

任意のスキーマ内でのクラスタの削除。

CONTEXTS:


CREATE ANY CONTEXT

任意のコンテキスト・ネームスペースの作成。

DROP ANY CONTEXT

任意のコンテキスト・ネームスペースの削除。

DATA REDACTION:


EXEMPT REDACTION POLICY

既存のOracle Data Redactionポリシーのバイパス、およびData Redactionが定義されている表またはビューの実際のデータの表示。

注意: この権限は、Oracle Database 11gリリース2 (11.2.0.4)以上で使用できます。

DATABASE:


ALTER DATABASE

データベースの変更。

ALTER SYSTEM

ALTER SYSTEM文の発行。

AUDIT SYSTEM

AUDIT文の発行。

データベース・リンク:


CREATE DATABASE LINK

権限を付与したスキーマ内でのプライベート・データベース・リンクの作成。

CREATE PUBLIC DATABASE LINK

パブリック・データベース・リンクの作成。

ALTER DATABASE LINK

接続または認証ユーザーのパスワードが変更された場合の固定ユーザー・データベース・リンクの変更。

ALTER PUBLIC DATABASE LINK

接続または認証ユーザーのパスワードが変更された場合のパブリック固定ユーザー・データベース・リンクの変更。

DROP PUBLIC DATABASE LINK

パブリック・データベース・リンクの削除。

DEBUGGING:


DEBUG CONNECT SESSION

デバッガへの現行のセッションの接続。

DEBUG ANY PROCEDURE

任意のデータベース・オブジェクトのすべてのPL/SQLコードおよびJavaコードのデバッグ。アプリケーションによって実行されたすべてのSQL文に関する情報の表示。

注意: この権限を付与することは、データベース内の適用可能なすべてのオブジェクトについてDEBUGオブジェクト権限を付与することと同じです。

DICTIONARIES:


ANALYZE ANY DICTIONARY

データ・ディクショナリ・オブジェクトの分析。

DIMENSIONS:


CREATE DIMENSION

権限を付与したスキーマ内でのディメンションの作成。

CREATE ANY DIMENSION

任意のスキーマ内でのディメンションの作成。

ALTER ANY DIMENSION

任意のスキーマ内でのディメンションの変更。

DROP ANY DIMENSION

任意のスキーマ内でのディメンションの削除。

DIRECTORIES:


CREATE ANY DIRECTORY

ディレクトリ・データベース・オブジェクトの作成。

DROP ANY DIRECTORY

ディレクトリ・データベース・オブジェクトの削除。

EDITIONS:


CREATE ANY EDITION

エディションの作成。

DROP ANY EDITION

エディションの削除。

FLASHBACK DATA ARCHIVES:


FLASHBACK ARCHIVE ADMINISTER

フラッシュバック・データ・アーカイブの作成、変更または削除。

INDEXES:


CREATE ANY INDEX

任意のスキーマでの任意の表に対するドメイン索引または索引の作成。

ALTER ANY INDEX

任意のスキーマでの索引の変更。

DROP ANY INDEX

任意のスキーマでの索引の削除。

INDEXTYPES:


CREATE INDEXTYPE

権限を付与したスキーマ内での索引タイプの作成。

CREATE ANY INDEXTYPE

任意のスキーマ内での索引タイプの作成、および任意のスキーマ内の索引タイプに対するコメントの作成。

ALTER ANY INDEXTYPE

任意のスキーマ内での索引タイプの変更。

DROP ANY INDEXTYPE

任意のスキーマ内での索引タイプの削除。

EXECUTE ANY INDEXTYPE

任意のスキーマ内での索引タイプの参照。

JOB SCHEDULER OBJECTS:

次の権限は、DBMS_SCHEDULERパッケージのプロシージャを実行する場合に必要です。この権限は、データベース・オブジェクトではない軽量ジョブには適用されません。軽量ジョブの詳細は、『Oracle Database管理者ガイド』を参照してください。

CREATE JOB

権限を付与したスキーマ内でのジョブ、スケジュールまたはプログラムの作成

CREATE ANY JOB

SYSを除く任意のスキーマ内でのジョブ、チェーン、スケジュールまたは資格証明の作成、変更または削除。

注意: この強力な権限を使用すると、権限受領者は任意のユーザーとしてコードを実行できます。この権限の付与には注意が必要です。

CREATE EXTERNAL JOB

権限を付与したスキーマ内での、オペレーティング・システム上で実行可能なスケジューラ・ジョブの作成。

EXECUTE ANY PROGRAM

権限を付与したスキーマ内でのジョブの任意のプログラムの使用。

EXECUTE ANY CLASS

権限を付与したスキーマ内でのジョブのジョブ・クラスの指定。

MANAGE SCHEDULER

任意のジョブ・クラス、ウィンドウまたはウィンドウ・グループの作成、変更または削除。

LIBRARIES:

注意: CREATE LIBARARYCREATE ANY LIBRARYALTER ANY LIBRARYおよびEXECUTE ANY LIBRARYは、非常に強力な権限であり、信頼できるユーザーにのみ付与する必要があります。これらの権限を付与する前に、『Oracle Databaseセキュリティ・ガイド』を参照してください。

CREATE LIBRARY

権限を付与したスキーマ内での外部プロシージャまたはファンクション・ライブラリの作成。

CREATE ANY LIBRARY

任意のスキーマ内での外部プロシージャまたはファンクション・ライブラリの作成。

ALTER ANY LIBRARY

任意のスキーマ内での外部プロシージャまたはファンクション・ライブラリの変更。

DROP ANY LIBRARY

任意のスキーマ内での外部プロシージャまたはファンクション・ライブラリの削除。

EXECUTE ANY LIBRARY

任意のスキーマ内での外部プロシージャまたはファンクション・ライブラリの使用。

MATERIALIZED VIEWS:


CREATE MATERIALIZED VIEW

権限を付与したスキーマ内でのマテリアライズド・ビューの作成。

CREATE ANY MATERIALIZED VIEW

任意のスキーマでのマテリアライズド・ビューの作成。

ALTER ANY MATERIALIZED VIEW

任意のスキーマでのマテリアライズド・ビューの変更。

DROP ANY MATERIALIZED VIEW

任意のスキーマでのマテリアライズド・ビューの削除。

QUERY REWRITE

この権限は現在非推奨になっています。ユーザー自身のスキーマ内の表またはビューを参照するマテリアライズド・ビューのリライトを可能にする場合、権限は不要です。

GLOBAL QUERY REWRITE

マテリアライズド・ビューが任意のスキーマ内の表またはビューを参照している場合のそのマテリアライズド・ビューの使用。

ON COMMIT REFRESH

データベースの任意の表に対するREFRESH ON COMMITモードのマテリアライズド・ビューの作成。

データベースの任意の表に対するREFRESH ON DEMANDモードのマテリアライズド・ビューの、REFRESH ON COMMITモードのマテリアライズド・ビューへの変更

FLASHBACK ANY TABLE

任意のスキーマ内の任意の表、ビューまたはマテリアライズド・ビューでのSQLフラッシュバック問合せの発行。この権限は、DBMS_FLASHBACKプロシージャの実行には不要です。

マイニング・モデル:


CREATE MINING MODEL

権限を付与したスキーマでのDBMS_DATA_MINING.CREATE_MODELプロシージャによるマイニング・モデルの作成。

CREATE ANY MINING MODEL

任意のスキーマでのDBMS_DATA_MINING.CREATE_MODELプロシージャによるマイニング・モデルの作成。

ALTER ANY MINING MODEL

任意のスキーマでの適切なDBMS_DATA_MININGプロシージャを使用した、マイニング・モデル名またはモデルの関連付けられたコスト・マトリックスの変更。

DROP ANY MINING MODEL

任意のスキーマでのDBMS_DATA_MINING.DROP_MODELプロシージャによる任意のマイニング・モデルの削除。

SELECT ANY MINING MODEL

任意のスキーマでの任意のモデルのスコアリングまたは表示。スコアリングの実行には、SQLファンクションのPREDICTIONファミリ、またはDBMS_DATA_MINING.APPLYプロシージャを使用します。モデルの表示は、DBMS_DATA_MINING.GET_MODEL_DETAILS_*プロシージャで実行されます。

COMMENT ANY MINING MODEL

任意のスキーマの任意のモデルでのSQL COMMENT文によるコメントの作成。

OLAPキューブ:

Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。

CREATE CUBE

権限を付与したスキーマでのOLAPキューブの作成。

CREATE ANY CUBE

任意のスキーマでのOLAPキューブの作成。

ALTER ANY CUBE

任意のスキーマでのOLAPキューブの変更。

DROP ANY CUBE

任意のスキーマでの任意のOLAPキューブの削除。

SELECT ANY CUBE

任意のスキーマでの任意のOLAPキューブの問合せまたは表示。

UPDATE ANY CUBE

任意のスキーマでの任意のキューブの更新。

OLAPキューブ・メジャー・フォルダ:

Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。

CREATE MEASURE FOLDER

権限を付与したスキーマでのOLAPメジャー・フォルダの作成。

CREATE ANY MEASURE FOLDER

任意のスキーマでのOLAPメジャー・フォルダの作成。

DELETE ANY MEASURE FOLDER

任意のスキーマでの任意のOLAPメジャー・フォルダからの削除。

DROP ANY MEASURE FOLDER

任意のスキーマでの任意のメジャー・フォルダの削除。

INSERT ANY MEASURE FOLDER

任意のスキーマでの任意のメジャー・フォルダへのメジャーの挿入

OLAPキューブ・ディメンション:

Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。

CREATE CUBE DIMENSION

権限を付与したスキーマでのOLAPキューブ・ディメンションの作成。

CREATE ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションの作成。

ALTER ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションの変更。

DELETE ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションからの削除。

DROP ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションの削除。

INSERT ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションへの挿入。

SELECT ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションの表示または問合せ。

UPDATE ANY CUBE DIMENSION

任意のスキーマでのOLAPキューブ・ディメンションの更新。

OLAPキューブの作成プロセス:


CREATE CUBE BUILD PROCESS

権限を付与したスキーマでのOLAPキューブの作成プロセスの作成。

CREATE ANY CUBE BUILD PROCESS

任意のスキーマでのOLAPキューブの作成プロセスの作成。

DROP ANY CUBE BUILD PROCESS

任意のスキーマでのOLAPキューブの作成プロセスの削除。

UPDATE ANY CUBE BUILD PROCESS

任意のスキーマでのOLAPキューブの作成プロセスの更新。

OPERATORS:


CREATE OPERATOR

権限を付与したスキーマ内での演算子およびバインディングの作成。

CREATE ANY OPERATOR

任意のスキーマ内での演算子とそのバインディングの作成、および任意のスキーマ内の演算子に対するコメントの作成。

ALTER ANY OPERATOR

任意のスキーマ内での演算子の変更。

DROP ANY OPERATOR

任意のスキーマ内での演算子の削除。

EXECUTE ANY OPERATOR

任意のスキーマ内での演算子の参照。

OUTLINES:


CREATE ANY OUTLINE

アウトラインを使用する任意のスキーマ内で使用するパブリック・アウトラインの作成。

ALTER ANY OUTLINE

アウトラインの変更。

DROP ANY OUTLINE

アウトラインの削除。

PLAN MANAGEMENT:


ADMINISTER SQL MANAGEMENT OBJECT

様々なSQL文に対して保持されている計画の履歴およびSQL計画ベースラインの制御操作の実行。

PROCEDURES:


CREATE PROCEDURE

権限受領者のスキーマ内でのストアド・プロシージャ、ストアド・ファンクションおよびストアド・パッケージの作成。

CREATE ANY PROCEDURE

任意のスキーマ内でのストアド・プロシージャ、ストアド・ファンクションおよびストアド・パッケージの作成。

ALTER ANY PROCEDURE

任意のスキーマ内でのストアド・プロシージャ、ストアド・ファンクションおよびストアド・パッケージの変更。

DROP ANY PROCEDURE

任意のスキーマ内でのストアド・プロシージャ、ストアド・ファンクションおよびストアド・パッケージの削除。

EXECUTE ANY PROCEDURE

プロシージャまたはファンクションの実行(スタンドアロンまたはパッケージ)。

任意のスキーマ内でのパブリック・パッケージ変数の参照。

PROFILES:


CREATE PROFILE

プロファイルの作成。

ALTER PROFILE

プロファイルの変更。

DROP PROFILE

プロファイルの削除。

ROLES:


CREATE ROLE

ロールの作成。

ALTER ANY ROLE

データベース内の任意のロールの変更。

DROP ANY ROLE

ロールの削除。

GRANT ANY ROLE

データベース内の任意のロールの付与。

ROLLBACK SEGMENTS:


CREATE ROLLBACK SEGMENT

ロールバック・セグメントの作成。

ALTER ROLLBACK SEGMENT

ロールバック・セグメントの変更。

DROP ROLLBACK SEGMENT

ロールバック・セグメントの削除。

SEQUENCES:


CREATE SEQUENCE

権限を付与したスキーマ内での順序の作成。

CREATE ANY SEQUENCE

任意のスキーマ内での順序の作成。

ALTER ANY SEQUENCE

データベース内の任意の順序の変更。

DROP ANY SEQUENCE

任意のスキーマ内での順序の削除。

SELECT ANY SEQUENCE

任意のスキーマ内での順序の参照。

SESSIONS:


CREATE SESSION

データベースへの接続。

ALTER RESOURCE COST

セッション・リソースに対するコストの設定。

ALTER SESSION

SQLトレース機能の有効と無効の切替え。

RESTRICTED SESSION

SQL*PlusのSTARTUP RESTRICT文を使用した、インスタンス起動後のログイン。

スナップショット:

MATERIALIZED VIEWSを参照してください

SYNONYMS:

注意: CREATE PUBLIC SYNONYMおよびDROP PUBLIC SYNONYMは、非常に強力な権限であり、信頼できるユーザーにのみ付与する必要があります。これらの権限を付与する前に、『Oracle Databaseセキュリティ・ガイド』を参照してください。

CREATE SYNONYM

権限を付与したスキーマ内でのシノニムの作成。

CREATE ANY SYNONYM

任意のスキーマ内でのプライベート・シノニムの作成。

CREATE PUBLIC SYNONYM

パブリック・シノニムの作成。

DROP ANY SYNONYM

任意のスキーマ内でのプライベート・シノニムの削除。

DROP PUBLIC SYNONYM

パブリック・シノニムの削除。

TABLES:

注意: 外部表の場合、有効な権限は、CREATE ANY TABLEALTER ANY TABLEDROP ANY TABLEおよびSELECT ANY TABLEです。

CREATE TABLE

権限を付与したスキーマ内での表の作成。

CREATE ANY TABLE

任意のスキーマ内での表の作成。なお、表が設定されるスキーマの所有者は、表領域内にその表を定義するための割当て制限が必要です。

ALTER ANY TABLE

スキーマ内の任意の表またはビューの変更。

BACKUP ANY TABLE

エクスポート・ユーティリティを使用した他のユーザーのスキーマからのオブジェクトの増分エクスポート。

DELETE ANY TABLE

任意のスキーマ内での表、表パーティションまたはビューからの行の削除。

DROP ANY TABLE

任意のスキーマ内での表または表パーティションの削除または切捨て。

INSERT ANY TABLE

任意のスキーマ内の表またはビューへの行の挿入。

LOCK ANY TABLE

任意のスキーマ内の表またはビューのロック。

SELECT ANY TABLE

任意のスキーマ内の表、ビューまたはマテリアライズド・ビューの問合せ。

FLASHBACK ANY TABLE

任意のスキーマ内の任意の表、ビューまたはマテリアライズド・ビューでのSQLフラッシュバック問合せの発行。この権限は、DBMS_FLASHBACKプロシージャの実行には不要です。

UPDATE ANY TABLE

任意のスキーマ内の表またはビューの行の更新。

TABLESPACES:


CREATE TABLESPACE

表領域の作成。

ALTER TABLESPACE

表領域の変更。

DROP TABLESPACE

表領域の削除。

MANAGE TABLESPACE

表領域のオンラインとオフラインの切替え、および表領域のバックアップの開始と終了の制御。

UNLIMITED TABLESPACE

任意の表領域の無制限な使用。この権限は、設定されている任意の割当て制限を上書きします。ユーザーからこの権限を取り消した場合、ユーザーのスキーマ・オブジェクトはそのまま残りますが、表領域の割当て制限が許可されないかぎり、それ以上表領域を割り当てることはできません。このシステム権限をロールに付与することはできません。

TRIGGERS:


CREATE TRIGGER

権限を付与したスキーマ内でのデータベース・トリガーの作成。

CREATE ANY TRIGGER

任意のスキーマ内でのデータベース・トリガーの作成。

ALTER ANY TRIGGER

任意のスキーマ内でのデータベース・トリガーの使用可能化、使用禁止化またはコンパイル。

DROP ANY TRIGGER

任意のスキーマ内でのデータベース・トリガーの削除。

ADMINISTER DATABASE TRIGGER

DATABASEに対するトリガーの作成。CREATE TRIGGERまたはCREATE ANY TRIGGERシステム権限も必要です。

TYPES:


CREATE TYPE

権限を付与したスキーマ内でのオブジェクト型およびオブジェクト型本体の作成。

CREATE ANY TYPE

任意のスキーマ内でのオブジェクト型およびオブジェクト型本体の作成。

ALTER ANY TYPE

任意のスキーマ内でのオブジェクト型の変更。

DROP ANY TYPE

任意のスキーマ内でのオブジェクト型およびオブジェクト型本体の削除。

EXECUTE ANY TYPE

特定のユーザーに付与した場合、任意のスキーマ内でのオブジェクト型およびコレクション型を使用および参照した、任意のスキーマ内のオブジェクト型メソッドの起動。EXECUTE ANY TYPEをロールに付与した場合、使用可能なロールを保持したユーザーは、任意のスキーマ内のオブジェクト型メソッドを起動できません。

UNDER ANY TYPE

非最終オブジェクト型のサブタイプの作成。

USERS:


CREATE USER

ユーザーの作成。この権限によって、次の操作を実行できます。

  • 任意の表領域に対する割当て制限の設定。

  • デフォルトの表領域および一時表領域の設定。

  • CREATE USER文の一部としてのプロファイルの設定。

ALTER USER

任意のユーザーの変更。この権限によって、次の操作を実行できます。

  • 他のユーザーのパスワードまたは認証方法の変更。

  • 任意の表領域に対する割当て制限の設定。

  • デフォルトの表領域および一時表領域の設定。

  • プロファイルおよびデフォルト・ロールの設定。

DROP USER

ユーザーの削除

VIEWS:


CREATE VIEW

権限を付与したスキーマ内でのビューの作成。

CREATE ANY VIEW

任意のスキーマ内でのビューの作成。

DROP ANY VIEW

任意のスキーマ内でのビューの削除。

UNDER ANY VIEW

オブジェクト・ビューのサブビューの作成。

FLASHBACK ANY TABLE

任意のスキーマ内の任意の表、ビューまたはマテリアライズド・ビューでのSQLフラッシュバック問合せの発行。この権限は、DBMS_FLASHBACKプロシージャの実行には不要です。

MERGE ANY VIEW

MERGE ANY VIEW権限が付与されている場合、そのユーザーが発行するすべての問合せにおいて、オプティマイザはビューのマージを使用して問合せのパフォーマンスを向上することができます。このとき、ビューのマージがビュー作成者のセキュリティ意図に違反しないかどうかは確認されません。OPTIMIZER_SECURE_VIEW_MERGINGパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。ビューのマージの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

その他:


ANALYZE ANY

任意のスキーマ内の任意の表、クラスタまたは索引の分析。

AUDIT ANY

AUDIT schema_objects文を使用した、任意のスキーマ内の任意のオブジェクトの監査。

BECOME USER

データ・ポンプ・インポート・ユーティリティ(impdp)および元のインポート・ユーティリティ(imp)のユーザーは、第三者が直接実行できない操作(オブジェクト権限を付与するようなオブジェクトのロード)を実行する場合には、別のユーザー・アイデンティティを引き受けることができます。

Streams管理者は、取得ユーザーおよび適用ユーザーの作成または変更を1つのStreams環境で行うことができます。この権限は、デフォルトではDBAロールに含まれています。Database Vaultでは、この権限はDBAロールから除外されます。したがって、Streamsでこの権限が必要とされるのは、Database Vaultがインストールされている環境でのみです。

CHANGE NOTIFICATION

問合せの登録の作成と、登録された問合せに関連付けられたオブジェクトに対するDMLまたはDDL変更があったときのデータベース変更通知の受信。データベース変更通知の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

COMMENT ANY TABLE

任意のスキーマ内の任意の表、ビューまたは列についてのコメントの記述。

EXEMPT ACCESS POLICY

ファイングレイン・アクセス・コントロールの回避。

注意: 強力なシステム権限で、権限受領者がアプリケーション駆動のセキュリティ・ポリシーを回避できます。データベース管理者がこの権限を付与する場合は、注意が必要です。

FORCE ANY TRANSACTION

ローカル・データベース内の、インダウト分散トランザクションのコミットまたはロールバック。

分散トランザクション・エラーの意図的な発生。

FORCE TRANSACTION

ローカル・データベース内の、インダウト分散トランザクションのコミットまたはロールバック。

GRANT ANY OBJECT PRIVILEGE

オブジェクト所有者が付与を許されている任意のオブジェクト権限の付与。

GRANT ANY OBJECT PRIVILEGE権限を持つオブジェクト所有者または他のユーザーによって付与されたオブジェクト権限の取消し。

GRANT ANY PRIVILEGE

任意のシステム権限の付与。

RESUMABLE

再開可能な領域割当ての使用可能化。

SELECT ANY DICTIONARY

SYSスキーマ内のデータ・ディクショナリ・オブジェクトへの問合せ。初期化パラメータO7_DICTIONARY_ACCESSIBILITYのデフォルトのFALSE設定を選択的に上書きします。

SELECT ANY TRANSACTION

FLASHBACK_TRANSACTION_QUERYビューの内容の問合せ。

注意: 強力なシステム権限で、権限受領者が、過去のデータも含めてデータベース内のすべてのデータを参照できます。この権限は、Oracleフラッシュバック・トランザクション問合せ機能を使用する必要があるユーザーのみに付与してください。

SYSDBA

STARTUPおよびSHUTDOWN操作の実行

ALTER DATABASE(オープン、マウント、バックアップまたはキャラクタ・セットの変更)。

CREATE DATABASE

ARCHIVELOGおよびRECOVERY

CREATE SPFILE

RESTRICTED SESSION権限を含みます。

SYSOPER

STARTUPおよびSHUTDOWN操作の実行

ALTER DATABASE(オープン、マウントまたはバックアップ)。

ARCHIVELOGおよびRECOVERY

CREATE SPFILE

RESTRICTED SESSION権限を含みます。


表18-2 オブジェクト権限(操作対象のデータベース・オブジェクト別)

オブジェクト権限名 許可される操作

ディレクトリ権限

次のディレクトリ権限では、ディレクトリ・オブジェクトをポインタとして使用することにより、オペレーティング・システムのディレクトリに格納されている各ファイルにデータベースから安全にアクセスできるようになります。このディレクトリ・オブジェクトには、ファイルが格納されているオペレーティング・システムのディレクトリへのフルパス名が定義されています。これらのファイルは実際にはデータベース外に格納されているため、Oracle Databaseサーバーの各プロセスは、ファイル・システム・サーバーに対して適切なファイル・アクセス権も持っている必要があります。オペレーティング・システムに対するオブジェクト権限ではなく、ディレクトリ・データベース・オブジェクトに対するオブジェクト権限を個々のデータベース・ユーザーに付与することによって、データベースでファイル運用時のセキュリティが確保されます。

READ

ディレクトリ内のファイルの読取り。

WRITE

ディレクトリ内へのファイルの書込み。この権限は、外部表に接続する場合のみに役立ちます。これによって、権限受領者は、外部表のエージェントがディレクトリに書き込めるのがログ・ファイルなのか不良ファイルなのかを判断できます。

制限事項: この権限を持っていても、BFILEへの書込みを行うことはできません。

EXECUTE

ディレクトリ内に存在するプリプロセッサ・プログラムの実行。プリプロセッサ・プログラムは、ORACLE_LOADERアクセス・ドライバによって外部表からデータ・レコードをロードするときに、サポートされている形式にデータを変換します。詳細は、『Oracle Databaseユーティリティ』を参照してください。この権限は、外部表データへのREADアクセスを暗黙的に許可しません。

エディション権限

次のエディション権限は、エディションの使用を許可します。

USE

エディションの使用。

索引タイプ権限

次の索引タイプ権限は、索引タイプの操作を許可します。

EXECUTE

索引タイプの参照。

フラッシュバック・データ・アーカイブ権限

次のフラッシュバック・データ・アーカイブ権限では、フラッシュバック・データ・アーカイブに対する操作を許可します。

FLASHBACK ARCHIVE

表の履歴追跡を使用可能または使用禁止にします。

ライブラリ権限

次のライブラリ権限は、ライブラリの操作を許可します。

EXECUTE

特定のオブジェクトの使用と参照、およびそのメソッドの起動。

注意: この権限は非常に強力であるため、信頼できるユーザーにのみ付与してください。この権限を付与する前に、『Oracle Databaseセキュリティ・ガイド』を参照してください。

マテリアライズド・ビュー権限

次のマテリアライズド・ビュー権限は、マテリアライズド・ビューについての操作を許可します。DELETEINSERTおよびUPDATE権限は、更新可能なマテリアライズド・ビューにのみ付与できます。

ON COMMIT REFRESH

指定した表に対するREFRESH ON COMMITモードのマテリアライズド・ビューの作成。

QUERY REWRITE

指定した表で使用するクエリー・リライトに対するマテリアライズド・ビューの作成。

SELECT

SELECT文でのマテリアライズド・ビューの問合せ。

マイニング・モデル権限

次のマイニング・モデル権限では、マイニング・モデルに対する操作を許可します。これらの権限は、ユーザー自身のスキーマ内にあるモデルに対しては必要ありません。

ALTER

該当するDBMS_DATA_MININGプロシージャを使用して、マイニング・モデル名または関連のコスト・マトリックスを変更します。

SELECT

マイニング・モデルのスコアリングまたは表示。スコアリングの実行には、SQLファンクションのPREDICTIONファミリ、またはDBMS_DATA_MINING.APPLYプロシージャを使用します。モデルの表示は、DBMS_DATA_MINING.GET_MODEL_DETAILS_*プロシージャで実行されます。

オブジェクト型権限

次のオブジェクト型権限は、データベース・オブジェクト型の操作を許可します。

DEBUG

オブジェクト型に定義されたすべてのパブリック変数、非パブリック変数、メソッドおよび型へのデバッガを介したアクセス。

型本体内の行または指示境界へのブレークポイントの設定、またはこれらの場所のいずれかでの停止。

EXECUTE

特定のオブジェクトの使用と参照、およびそのメソッドの起動。

オブジェクト型に定義されたパブリック変数、型およびメソッドへのデバッガを介したアクセス。

UNDER

型のサブタイプの作成。この型の直属のスーパータイプにWITH GRANT OPTION付きのUNDER ANY TYPE権限を持つ場合のみ、このオブジェクト権限を付与できます。

OLAP権限

Oracle DatabaseをOLAPオプションで使用している場合は、次のオブジェクト権限が有効になります。

INSERT

メンバーをOLAPキューブ・ディメンションに挿入するか、またはメジャーをメジャー・フォルダに挿入します。

ALTER

OLAPキューブ・ディメンションまたはキューブの定義を変更します。

DELETE

メンバーをOLAPキューブ・ディメンションから削除するか、またはメジャーをメジャー・フォルダから削除します。

SELECT

OLAPキューブまたはキューブ・ディメンションを表示または問い合せます。

UPDATE

OLAPキューブのメジャー値またはキューブ・ディメンションの属性値を更新します。

演算子権限

次の演算子権限は、ユーザー定義演算子の操作を許可します。

EXECUTE

演算子の参照。

プロシージャ、ファンクション、パッケージ権限

次のプロシージャ、ファンクションおよびパッケージ権限は、プロシージャ、ファンクションおよびパッケージの操作を許可します。これらの権限は、Javaソース、クラスおよびリソースにも適用されます。Oracle Databaseでは、これらはオブジェクト権限の付与のために生成されたプロシージャとして扱われます。

DEBUG

オブジェクトに定義されたすべてのパブリック変数、非パブリック変数、メソッドおよび型へのデバッガを介したアクセス。

プロシージャ、ファンクションまたはパッケージ内の行または指示境界へのブレークポイントの設定、またはこれらの場所のいずれかでの停止。この権限は、メソッドまたはパッケージの仕様部および本体の宣言にアクセスする権限を付与します。

EXECUTE

プロシージャかファンクションの直接実行、パッケージの仕様部に宣言された任意のプログラム・オブジェクトへのアクセス、または現在無効であるかコンパイルされていないファンクションかプロシージャへのコール中の暗黙的なオブジェクトのコンパイル。この権限を持っていても、ALTER PROCEDUREまたはALTER FUNCTIONを使用して明示的なコンパイルを実行することはできません。明示的なコンパイルを実行するには、適切なALTER SYSTEM権限が必要です。

プロシージャ、ファンクションまたはパッケージに定義されたパブリック変数、型およびメソッドへのデバッガを介したアクセス。この権限は、メソッドまたはパッケージの仕様部のみの宣言にアクセスする権限を付与します。

ジョブ・スケジューラ・オブジェクトは、DBMS_SCHEDULERパッケージを使用して作成します。作成したオブジェクトに、ジョブ・スケジューラのクラスおよびプログラムに対するEXECUTEオブジェクト権限を付与できます。ジョブ・スケジューラのジョブ、プログラムおよびスケジュールに対してもALTER権限を付与できます。

注意: プロシージャ、ファンクションまたはパッケージを間接的に実行する場合、ユーザーはこの権限を持つ必要はありません。

スケジューラ権限

ジョブ・スケジューラ・オブジェクトは、DBMS_SCHEDULERパッケージを使用して作成します。これらのオブジェクトを作成した後で、次の権限を付与できます。

EXECUTE

ジョブ・クラス、プログラム、チェーンおよび資格証明に対する操作。

ALTER

ジョブ、プログラム、チェーン、資格証明およびスケジュールに対する変更。

順序権限

次の順序権限は、順序の操作を許可します。

ALTER

ALTER SEQUENCE文での順序定義の変更。

SELECT

CURRVAL疑似列およびNEXTVAL疑似列を使用した順序の値の検査および増分。

シノニム権限

シノニム権限は、対象となるオブジェクトに対して付与される権限と同じです。シノニムに権限を付与することは、基本オブジェクトに権限を付与することと同じです。同様に、基本オブジェクトに対して権限を付与することは、オブジェクトのすべてのシノニムに権限を付与することと同じです。あるユーザーにシノニムの権限を付与した場合、そのユーザーは、シノニム名または基本オブジェクト名をSQL文に指定して、その権限を使用できます。

表権限

次の表権限は、表の操作を許可します。次のいずれかのオブジェクト権限を持っている場合は、LOCK TABLE文を使用して任意のロック・モードで表をロックできます。

注意: 外部表に有効なオブジェクト権限は、ALTERおよびSELECTのみです。

ALTER

ALTER TABLE文での表定義の変更。

DEBUG

デバッガを介した次のものへのアクセス。

  • 表に定義されているトリガーの本体のPL/SQLコード

  • 表を直接参照するSQL文に関する情報

DELETE

DELETE文での表の行の削除。

注意: 表がリモート・データベースにある場合は、DELETE権限とともに表に対するSELECT権限を付与する必要があります。

INDEX

CREATE INDEX文での表の索引の作成。

INSERT

INSERT文での表への新しい行の追加。

注意: 表がリモート・データベースにある場合は、INSERT権限とともに表に対するSELECT権限を付与する必要があります。

REFERENCES

表参照制約の作成。この権限はロールには付与できません。

SELECT

SELECT文での表の問合せ。

UPDATE

UPDATE文での表のデータの変更。

注意: 表がリモート・データベースにある場合は、UPDATE権限とともに表に対するSELECT権限を付与する必要があります。

ビュー権限

次のビュー権限は、ビューの操作を許可します。次のいずれかのオブジェクト権限を持っている場合は、LOCK TABLE文を使用して任意のロック・モードでビューをロックできます。

ビューの権限を付与する場合、そのビューのすべての実表に関してGRANT OPTION付きの権限が必要です。

DEBUG

デバッガを介した次のものへのアクセス。

  • ビューに定義されているトリガーの本体のPL/SQLコード

  • ビューを直接参照するSQL文に関する情報

DELETE

DELETE文でのビューの行の削除。

INSERT

INSERT文でのビューへの新しい行の追加。

MERGE VIEW

このオブジェクト権限の動作は、権限がON句で指定されたビューに制限される点を除き、MERGE ANY VIEWシステム権限の動作と同じです。指定されたビューに対して権限受領者が発行するすべての問合せに対して、オプティマイザはビューのマージを使用して問合せのパフォーマンスを向上させることができます。このとき、ビューのマージがビュー作成者のセキュリティ意図に違反しないかどうかは確認されません。

REFERENCES

ビューへの外部キー制約の定義。

SELECT

SELECT文でのビューの問合せ。

参照:  ビューに対するこのオブジェクト権限の付与の詳細は、object_privilegeを参照してください。

UNDER

ビューのサブビューの作成。このビューの直属のスーパービューにWITH GRANT OPTION付きのUNDER ANY VIEW権限を持つ場合のみ、このオブジェクト権限を付与できます。

UPDATE

UPDATE文でのビューのデータの変更。


ユーザーに対してシステム権限を付与する例: 次の文は、サンプル・ユーザーhrCREATE SESSIONシステム権限を付与し、hrがOracle Databaseにログインできるようにします。

GRANT CREATE SESSION 
   TO hr; 

ロールに対してシステム権限を付与する例: 次の文は、データ・ウェアハウス管理者ロール(「ロールの作成例:」で作成)に、適切なシステム権限を付与します。

GRANT
     CREATE ANY MATERIALIZED VIEW
   , ALTER ANY MATERIALIZED VIEW
   , DROP ANY MATERIALIZED VIEW
   , QUERY REWRITE
   , GLOBAL QUERY REWRITE
   TO dw_manager
   WITH ADMIN OPTION;

dw_managerの権限ドメインには、マテリアライズド・ビューに関連するシステム権限が含まれます。

Admin Option付きロールを付与する例: 次の文は、サンプル・ユーザーshADMIN OPTION付きのdw_managerロールを付与します。

GRANT dw_manager 
   TO sh 
   WITH ADMIN OPTION; 

dw_managerロールによって、shは次の操作を実行できます。

  • ロールを使用可能にして、CREATE MATERIALIZED VIEWシステム権限を含むそのロールの権限ドメインに登録されている権限の使用

  • 他のユーザーに対するそのロールの付与および取消し

  • ロールの削除

ロールに対してオブジェクト権限を付与する例: 次の文は、データ・ウェアハウス・ユーザー・ロール(「ロールの作成例:」で作成)に、SELECTオブジェクト権限を付与します。

GRANT SELECT ON sh.sales TO warehouse_user;

ロールに対してロールを付与する例 次の文は、dw_managerロールにwarehouse_userロールを付与します。どちらのロールも、「ロールの作成例」で作成されたものです。

GRANT warehouse_user TO dw_manager; 

dw_managerロールには、warehouse_userロールのドメインにあるすべての権限が含まれます。

ディレクトリへのオブジェクト権限を付与する例: 次の文は、ユーザーhrにディレクトリbfile_dirに対するREAD権限をGRANT OPTION付きで付与します。

GRANT READ ON DIRECTORY bfile_dir TO hr
   WITH GRANT OPTION;

ユーザーに対して表へのオブジェクト権限を付与する例: 次の文は、ユーザーhrに対して、oe.bonuses表(「表へのマージ例:」で作成)についてのすべての権限をGRANT OPTION付きで付与します。

GRANT ALL ON bonuses TO hr 
   WITH GRANT OPTION; 

この結果、hrユーザーは次の操作を実行できます。

  • bonuses表に対するすべての権限の使用

  • 他のユーザーまたはロールに対する、bonuses表についての権限の付与

ビューへのオブジェクト権限を付与する例: 次の文は、ビューemp_view(「ビューの作成例:」で作成)についてのSELECT権限およびUPDATE権限をすべてのユーザーに付与します。

GRANT SELECT, UPDATE 
   ON emp_view TO PUBLIC; 

この結果、すべてのユーザーが、従業員の詳細についてのビューを問合せおよび更新できるようになります。

別のスキーマの順序に対してオブジェクト権限を付与する例: 次の文は、ユーザーhrに対して、スキーマoe内のcustomers_seq順序のSELECT権限を付与します。

GRANT SELECT 
   ON oe.customers_seq TO hr; 

ユーザーhrは、次の文を指定して、順序の次の値を作成できるようになります。

SELECT oe.customers_seq.NEXTVAL 
   FROM DUAL; 

別々の列に複数のオブジェクト権限を付与する例: 次の文は、ユーザーoeに、スキーマhrにあるemployees表のemployee_id列に対するREFERENCES権限、およびemployee_idsalarycommission_pct列に対するUPDATE権限を付与します。

GRANT REFERENCES (employee_id), 
      UPDATE (employee_id, salary, commission_pct) 
   ON hr.employees
   TO oe; 

この結果、ユーザーoeは、employee_id列、salary列およびcommission_pct列の値を更新できるようになります。ユーザーoeは、employee_id列を参照する参照整合性制約を定義することもできます。ただし、GRANT文にはこれらの列のみが指定されているため、ユーザーoeemployees表の他の列を操作できません。

たとえば、oeは制約付きの表を作成できます。

CREATE TABLE dependent 
   (dependno   NUMBER, 
    dependname VARCHAR2(10), 
    employee   NUMBER 
   CONSTRAINT in_emp REFERENCES hr.employees(employee_id) );

スキーマhr内のemployees表の従業員に対応するdependent表の依存性が、制約in_empによって保証されます。