GRANT

目的

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

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

    ANYシステム権限(SELECT ANY TABLEなど)は、SYSオブジェクトやその他のディクショナリ・オブジェクトでは機能しません。

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

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

ノート:

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

データベース・ユーザーの認可のノート

データベース以外の手段とGRANT文を使用して、データベース・ユーザーを認可できます。

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

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

Oracle Automatic Storage Managementのノート

AS SYSASMとして認証されたユーザーは、この文を使用して、現在のノードのOracle ASMパスワード・ファイルで、システム権限SYSASMSYSOPERおよびSYSDBAをユーザーに付与できます。

エディション化可能なオブジェクトのノート:

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

関連項目:

前提条件

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

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

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

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

自分のスキーマ内のプログラム・ユニットにロールを付与する場合はADMIN OPTIONまたはDELEGATE OPTION付きのロールが直接付与されているか、GRANT ANY ROLEシステム権限が付与されているか、または付与するロールが自分で作成したロールである必要があります。

別のユーザーのスキーマ内のプログラム・ユニットに対するロールを付与するには、ユーザーSYSである必要があり、ロールがスキーマ所有者によって作成されているか、直接スキーマ所有者に付与されている必要があります。

on_object_clauseON USER句を指定してobject privilege on a user権限をユーザーに付与する場合は、その権限が付与されたユーザーであるか、そのユーザーに対するオブジェクト権限がWITH GRANT OPTION付きで付与されているか、GRANT ANY OBJECT PRIVILEGEシステム権限が付与されている必要があります。GRANT ANY OBJECT PRIVILEGEを所持しているという理由だけで、あるユーザーに対するオブジェクト権限を付与できる場合は、*_TAB_PRIVSビューのGRANTOR列には、GRANT文を発行したユーザーではなく、権限が付与されたユーザーが表示されます。

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

CONTAINER句を指定する場合は、マルチテナント・コンテナ・データベース(CDB)に接続している必要があります。CONTAINER = ALLを指定する場合は、現在のコンテナがルートである必要があります。

構文

grantee_clause::=

grantee_identified_by::=

on_object_clause::=

grant_roles_to_programs::=

セマンティクス

grant_system_privileges

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

system_privilege

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

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

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

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

role

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

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

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

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

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

ALL PRIVILEGES

ALL PRIVILEGESを指定すると、SELECT ANY DICTIONARYALTER DATABASE LINKおよびALTER PUBLIC DATABASE LINK権限を除く、表18-1に示すすべてのシステム権限を付与できます。

関連項目:

grantee_clause

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

PUBLIC

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

権限受領者の制限事項

grantee_clauseにユーザー、ロールまたはPUBLICを指定できるのは1回のみです。

grantee_identified_by

grantee_identified_by句を使用すると、ユーザーにシステム権限とロールを付与するときにユーザーにパスワードを割り当てることができます。ユーザーとパスワードを同じ数だけ指定する必要があります。最初のパスワードは最初のユーザーに、2番目のパスワードは2番目のユーザーに、というように割り当てられます。指定したユーザーが存在する場合、データベースはそのユーザーのパスワードをリセットします。指定したユーザーが存在しない場合、データベースはパスワードとともにユーザーを作成します。

関連項目:

「CREATE USER」(ユーザー名とパスワードの制限事項について)および「システム権限の付与時のユーザー・パスワードの割当て: 例」を参照してください。

WITH ADMIN OPTION

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

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

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

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

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

  • 権限を付与したスキーマ内のプログラム・ユニットに、ロールを付与します。

  • 権限を付与したスキーマ内のプログラム・ユニットからロールを取り消します。

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

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

WITH DELEGATE OPTION

ロールをユーザーに付与する場合のみ、この句を指定できます。

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

  • 権限を付与したスキーマ内のプログラム・ユニットに、ロールを付与します。

  • 権限を付与したスキーマ内のプログラム・ユニットからロールを取り消します。

たとえば、WITH DELEGATE OPTIONを指定せずにユーザーにロールを付与し、後でWITH DELEGATE OPTIONを指定してそのロールを付与した場合、そのユーザーはそのロールに関してDELEGATE OPTIONを持つことになります。

ロールのDELEGATE OPTIONをユーザーから取り消す場合、そのユーザーのロールを完全に取り消し、その次にDELEGATE OPTIONを指定せずにロールをユーザーに付与する必要があります。

関連項目:

システム権限とロールの付与の制限事項

権限およびロールには、次の制限事項があります。

  • 付与する権限およびロールのリストに、権限またはロールを指定できるのは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権限を権限受領者がすでに持っている場合にも当てはまります。

ビューに対するREADを他のユーザーに付与するには、ビューの基礎となるすべてのオブジェクトを所有しているか、またはこれらすべての基礎となるオブジェクトに対するREADまたはSELECTオブジェクト権限をWITH GRANT OPTIONで付与されている必要があります。これは、これらの基礎となるオブジェクトに対するREADまたは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ソースおよびリソース・スキーマ・オブジェクト、およびSQL翻訳プロファイルは、異なるネームスペースに格納されるため、別々に識別されます。

object

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

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

  • 順序

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

  • ユーザー定義型

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

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

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

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

ON USER

権限を付与するデータベース・ユーザーを指定します。

ユーザーへの権限の付与の制限事項

PUBLICユーザーには権限を付与できません。

ON DIRECTORY

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

ON EDITION

USEオブジェクト権限を付与するエディションの名前を指定します。edition_nameはスキーマ名で修飾できません。

ON MINING MODEL

権限を付与するマイニング・モデルの名前を指定します。mining_model_nameschemaで修飾しなかった場合、そのマイニング・モデルは自分のスキーマ内にあるとみなされます。

ON JAVA SOURCE | RESOURCE

権限を付与するJavaソースまたはリソース・スキーマ・オブジェクトの名前を指定します。objectschemaで修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。

関連項目:

CREATE JAVA

ON SQL TRANSLATION PROFILE

権限を付与するSQL翻訳プロファイルの名前を指定します。profileschemaで修飾しなかった場合、そのプロファイルは自分のスキーマ内にあるとみなされます。

WITH HIERARCHY OPTION

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

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

WITH GRANT OPTION

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

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

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

WITH GRANT OPTIONの付与の制限事項

ロールではなく、ユーザーまたはPUBLICに付与する場合にのみ、WITH GRANT OPTIONを指定できます。

grant_roles_to_programs

この句を使用して、ロールをプログラム・ユニットに付与します。そのようなロールは、コード・ベースのアクセス制御(CBAC)ロールと呼ばれます。

role

付与するロールを指定します。Oracle Databaseの事前定義ロールまたはユーザー定義ロールを付与できます。ロールはプログラム・ユニットのスキーマ所有者によって作成されているか、直接付与する必要があります。

program_unit

ロールを付与するプログラム・ユニットを指定します。PL/SQLファンクション、プロシージャ、またはパッケージを指定できます。schemaを指定しない場合、ファンクション、プロシージャ、またはパッケージは独自のスキーマにあると見なされます。

関連項目:

プログラム・ユニットへのコードに基づくアクセス制御ロールの割当ての詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

CONTAINER句

現在のコンテナがプラガブル・データベース(PDB)である場合:

  • CONTAINER = CURRENTを指定すると、システム権限、オブジェクト権限またはロールをユーザーまたはロールにローカルに付与できます。現在のPDBでのみ、その権限またはロールがユーザーまたはロールに付与されます。

現在のコンテナがルートである場合:

  • CONTAINER = CURRENTを指定すると、システム権限、オブジェクト権限またはロールを共通ユーザーまたは共通ロールにローカルに付与できます。ルートでのみ、ユーザーまたはロールにその権限が付与されます。

  • CONTAINER = ALLを指定すると、システム権限、共通オブジェクトに対するオブジェクト権限またはロールを共通ユーザーまたは共通ロールに共通に付与できます。

この句を省略すると、CONTAINER = CURRENTがデフォルトになります。

ノート:

権限またはロールを付与するときにCONTAINER句を指定する場合は、現在のコンテナが同じコンテナである必要があります。また、その権限またはロールを取り消すときには、同じCONTAINER句を指定する必要があります。詳細は、REVOKE文の「CONTAINER句」を参照してください。

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

ノート:

オブジェクトに対して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など)を介したアドバイザ・フレームワークへのアクセス。

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プロファイルの作成、変更および削除。

分析ビュー

CREATE ANALYTIC VIEW

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

CREATE ANY ANALYTIC VIEW

SYSAUDSYS.を除く任意のスキーマ内での分析ビューの作成。

ALTER ANY ANALYTIC VIEW

SYS、AUDSYSを除く任意のスキーマ内での分析ビューの名前の変更。

DROP ANY ANALYTIC VIEW

SYSAUDSYSを除く任意のスキーマ内での分析ビューの削除。

属性ディメンション

CREATE ATTRIBUTE DIMENSION

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

CREATE ANY ATTRIBUTE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内での属性ディメンションの作成。

ALTER ANY ATTRIBUTE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内での属性ディメンションの名前の変更。

DROP ANY ATTRIBUTE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内での属性ディメンションの削除。

クラスタ:

CREATE CLUSTER

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

CREATE ANY CLUSTER

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

ALTER ANY CLUSTER

SYSAUDSYSを除く任意のスキーマ内でのクラスタの変更。

DROP ANY CLUSTER

SYS、AUDSYSを除く任意のスキーマ内でのクラスタの削除。

コンテキスト:

CREATE ANY CONTEXT

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

DROP ANY CONTEXT

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

データ・リダクション:

EXEMPT REDACTION POLICY

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

データベース:

ALTER DATABASE

データベースの変更。

ALTER SYSTEM

ALTER SYSTEM文の発行

AUDIT SYSTEM

AUDIT文の発行。

データベース・リンク:

CREATE DATABASE LINK

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

CREATEPUBLICDATABASELINK

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

ALTER DATABASE LINK

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

ALTER PUBLIC DATABASE LINK

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

DROPPUBLIC DATABASELINK

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

デバッグ:

DEBUG CONNECT SESSION

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

DEBUG ANY PROCEDURE

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

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

DICTIONARIES:

ANALYZE ANY DICTIONARY

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

ディメンション:

CREATE DIMENSION

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

CREATE ANY DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのディメンションの作成。

ALTER ANY DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのディメンションの変更。

DROP ANY DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのディメンションの削除。

ディレクトリ:

CREATE ANY DIRECTORY

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

DROP ANY DIRECTORY

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

エディション:

CREATE ANY EDITION

エディションの作成。

DROP ANY EDITION

エディションの削除。

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

FLASHBACK ARCHIVE ADMINISTER

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

階層

CREATE HIERARCHY

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

CREATE ANY HIERARCHY

SYS、AUDSYSを除く任意のスキーマ内での階層の作成。

ALTER ANY HIERARCHY

SYS、AUDSYSを除く任意のスキーマ内での階層の名前変更。

DROP ANY HIERARCHY

SYSAUDSYSを除く任意のスキーマ内での階層の削除。

索引:

CREATE ANY INDEX

SYSAUDSYSを除く任意のスキーマ内でのドメイン索引の作成、またはSYS、AUDSYSを除く任意のスキーマ内での任意の表のインデックスの作成。

ALTER ANY INDEX

SYS、AUDSYSを除く任意のスキーマ内での索引の変更。

DROP ANY INDEX

SYS、AUDSYSを除く任意のスキーマ内での索引の削除。

索引タイプ:

CREATE INDEXTYPE

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

CREATE ANY INDEXTYPE

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

ALTER ANY INDEXTYPE

SYS、AUDSYSを除く任意のスキーマ内での索引タイプの変更。

DROP ANY INDEXTYPE

SYS、AUDSYSを除く任意のスキーマ内での索引タイプの削除。

EXECUTE ANY INDEXTYPE

SYS、AUDSYSを除く任意のスキーマ内での索引タイプの参照。

ジョブ・スケジューラ・オブジェクト:

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

CREATE JOB

権限を付与したスキーマ内でのジョブ、チェーン、スケジュール、プログラム、資格証明、リソース・オブジェクトまたは非互換性リソース・オブジェクトの作成、変更または削除。

CREATE ANY JOB

SYS、AUDSYSを除く任意のスキーマ内でのジョブ、チェーン、スケジュール、プログラム、資格証明、リソース・オブジェクトまたは非互換性リソース・オブジェクトの作成、変更または削除。

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

CREATE EXTERNAL JOB

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

EXECUTE ANY CLASS

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

EXECUTE ANY PROGRAM

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

MANAGE SCHEDULER

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

USE ANY JOB RESOURCE

権限を付与したスキーマ内での、任意のスケジュール・リソース・オブジェクトの任意のプログラムまたはジョブとの関連付け。

キー管理フレームワーク:

ADMINISTER KEY MANAGEMENT

キーおよびキーストアの管理。

ライブラリ:

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

CREATE LIBRARY

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

CREATE ANY LIBRARY

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

ALTER ANY LIBRARY

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

DROP ANY LIBRARY

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

EXECUTE ANY LIBRARY

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

LogMiner:

LOGMINING

CDB内のDBMS_LOGMNRパッケージに含まれるプロシージャの実行V$LOGMNR_CONTENTSビューの内容の問合せ

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

CREATE MATERIALIZED VIEW

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

CREATE ANY MATERIALIZED VIEW

SYS、AUDSYSを除く任意のスキーマ内でのマテリアライズド・ビューの作成。

ALTER ANY MATERIALIZED VIEW

SYS、AUDSYSを除く任意のスキーマ内でのマテリアライズド・ビューの変更。

DROP ANY MATERIALIZED VIEW

SYS、AUDSYSを除く任意のスキーマ内でのマテリアライズド・ビューの削除。

QUERY REWRITE

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

GLOBAL QUERY REWRITE

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

ON COMMIT REFRESH

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

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

FLASHBACK ANY TABLE

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

マイニング・モデル:

CREATE MINING MODEL

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

CREATE ANY MINING MODEL

SYS、AUDSYSを除く任意のスキーマでの、DBMS_DATA_MINING.CREATE_MODELプロシージャを使用したマイニング・モデルの作成。

ALTER ANY MINING MODEL

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

DROP ANY MINING MODEL

SYS、AUDSYSを除く任意のスキーマでの、DBMS_DATA_MINING.DROP_MODELプロシージャを使用したマイニング・モデルの削除。

SELECT ANY MINING MODEL

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

COMMENT ANY MINING MODEL

SYS、AUDSYSを除く任意のスキーマでの、SQL COMMENT文を使用したマイニング・モデルに対するコメントの作成。

OLAPキューブ:

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

CREATE CUBE

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

CREATE ANY CUBE

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブの作成。

ALTER ANY CUBE

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブの変更。

DROP ANY CUBE

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブの削除。

SELECT ANY CUBE

SYS、AUDSYSを除く任意のスキーマでのOLAPキューブの問合せまたは表示。

UPDATE ANY CUBE

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブの更新。

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

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

CREATE MEASURE FOLDER

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

CREATE ANY MEASURE FOLDER

SYS、AUDSYSを除く任意のスキーマ内でのOLAPメジャー・フォルダの作成。

DELETE ANY MEASURE FOLDER

SYS、AUDSYSを除く任意のスキーマ内での、OLAPメジャー・フォルダからのメジャーの削除。

DROP ANY MEASURE FOLDER

SYS、AUDSYSを除く任意のスキーマ内でのOLAPメジャー・フォルダの削除。

INSERT ANY MEASURE FOLDER

SYS、AUDSYSを除く任意のスキーマ内での、OLAPメジャー・フォルダへのメジャーの挿入。

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

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

CREATE CUBE DIMENSION

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

CREATE ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションの作成。

ALTER ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションの変更。

DELETE ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションからの削除。

DROP ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションの削除。

INSERT ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションへの挿入。

SELECT ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションの表示または問合せ。

UPDATE ANY CUBE DIMENSION

SYS、AUDSYSを除く任意のスキーマ内でのOLAPキューブ・ディメンションの更新。

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

CREATE CUBE BUILD PROCESS

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

CREATE ANY CUBE BUILD PROCESS

SYS、AUDSYSを除く任意のスキーマ内での、OLAPキューブの作成プロセスの作成。

DROP ANY CUBE BUILD PROCESS

SYS、AUDSYSを除く任意のスキーマ内での、OLAPキューブの作成プロセスの削除。

UPDATE ANY CUBE BUILD PROCESS

SYS、AUDSYSを除く任意のスキーマ内での、OLAPキューブの作成プロセスの更新。

演算子:

CREATE OPERATOR

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

CREATE ANY OPERATOR

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

ALTER ANY OPERATOR

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

DROP ANY OPERATOR

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

EXECUTE ANY OPERATOR

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

アウトライン:

CREATE ANY OUTLINE

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

ALTER ANY OUTLINE

アウトラインの変更。

DROP ANY OUTLINE

アウトラインの削除。

PDBロックダウン・プロファイル:

CREATE LOCKDOWN PROFILE

PDBロックダウン・プロファイルの作成。

ALTER LOCKDOWN PROFILE

PDBロックダウン・プロファイルの変更。

DROP LOCKDOWN PROFILE

PDBロックダウン・プロファイルの削除。

計画管理:

ADMINISTER SQL MANAGEMENT OBJECT

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

プラガブル・データベース:

CREATE PLUGGABLE DATABASE

PDBの作成。

CDBから以前に切断されたPDBの接続。

PDBのクローニング。

SET CONTAINER

この権限が付与されていたコンテナへの共通ユーザーによる切替えの許可。この権限は、共通ユーザーまたは共通ロールにのみ付与できます。

プロシージャ:

CREATE PROCEDURE

権限を付与したスキーマ内でのストアド・プロシージャ、ストアド・ファンクションまたはストアド・パッケージの作成。

CREATE ANY PROCEDURE

SYS、AUDSYSを除く任意のスキーマ内での、ストアド・プロシージャ、ストアド・ファンクションまたはストアド・パッケージの作成。

ALTER ANY PROCEDURE

SYS、AUDSYSを除く任意のスキーマ内での、ストアド・プロシージャ、ストアド・ファンクションまたはストアド・パッケージの変更。

DROP ANY PROCEDURE

SYS、AUDSYSを除く任意のスキーマ内での、ストアド・プロシージャ、ストアド・ファンクションまたはストアド・パッケージの削除。

EXECUTE ANY PROCEDURE

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

SYS、AUDSYSを除く任意のスキーマ内でのパブリック・パッケージ変数の参照。

INHERIT ANY REMOTE PRIVILEGES

現在のユーザー・データベース・リンクを含む定義者権限プロシージャまたはファンクションの実行。

プロファイル:

CREATE PROFILE

プロファイルの作成。

ALTER PROFILE

プロファイルの変更。

DROP PROFILE

プロファイルの削除。

ロール:

CREATE ROLE

ロールの作成。

ALTER ANY ROLE

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

DROP ANY ROLE

ロールの削除。

GRANT ANY ROLE

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

ロールバック・セグメント:

CREATE ROLLBACK SEGMENT

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

ALTER ROLLBACK SEGMENT

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

DROP ROLLBACK SEGMENT

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

順序:

CREATE SEQUENCE

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

CREATE ANY SEQUENCE

SYS、AUDSYSを除く任意のスキーマ内での順序の作成。

ALTER ANY SEQUENCE

SYS、AUDSYSを除く任意のスキーマ内での順序の変更。

DROP ANY SEQUENCE

SYS、AUDSYSを除く任意のスキーマ内での順序の削除。

SELECT ANY SEQUENCE

SYS、AUDSYSを除く任意のスキーマ内での順序の参照。

セッション:

CREATE SESSION

データベースへの接続。

ALTER RESOURCE COST

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

ALTER SESSION

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

RESTRICTED SESSION

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

スナップショット:

MATERIALIZED VIEWSを参照してください

SQL TRANSLATION PROFILES:

CREATE SQL TRANSLATION PROFILE

権限を付与したスキーマ内でのSQL翻訳プロファイルの作成。

CREATE ANY SQL TRANSLATION PROFILE

SYS、AUDSYSを除く任意のスキーマ内でのSQL翻訳プロファイルの作成。

ALTER ANY SQL TRANSLATION PROFILE

SYS、AUDSYSを除く任意のスキーマ内での、SQL翻訳プロファイルのトランスレータ、カスタムSQL文の翻訳、またはカスタム・エラーの翻訳の変更。

USE ANY SQL TRANSLATION PROFILE

SYS、AUDSYSを除く任意のスキーマ内でのSQL翻訳プロファイルの使用。

DROP ANY SQL TRANSLATION PROFILE

SYS、AUDSYSを除く任意のスキーマ内でのSQL翻訳プロファイルの削除。

TRANSLATE ANY SQL

権限受領者のSQL翻訳プロファイル使用した任意のユーザー用のSQLの変換。

シノニム:

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

CREATE SYNONYM

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

CREATE ANY SYNONYM

SYS、AUDSYSを除く任意のスキーマ内でのプライベート・シノニムの作成。

CREATE PUBLIC SYNONYM

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

DROP ANY SYNONYM

SYS、AUDSYSを除く任意のスキーマ内でのプライベート・シノニムの削除

DROP PUBLIC SYNONYM

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

表:

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

CREATE TABLE

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

CREATE ANY TABLE

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

ALTER ANY TABLE

SYS、AUDSYSを除く任意のスキーマ内での表またはビューの変更。

BACKUP ANY TABLE

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

DELETE ANY TABLE

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

DROP ANY TABLE

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

INSERT ANY TABLE

SYS、AUDSYSを除く任意のスキーマ内での表およびビューへの行の挿入。

LOCK ANY TABLE

SYS、AUDSYSを除く任意のスキーマ内での表およびビューのロック。

READ ANY TABLE

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

SELECT ANY TABLE

SYS、AUDSYSを除く任意のスキーマ内での、表、ビューまたはマテリアライズド・ビューの問合せ。SELECT ... FOR UPDATEを使用して、行ロックを取得します。

FLASHBACK ANY TABLE

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

UPDATE ANY TABLE

SYS、AUDSYSを除く任意のスキーマ内での表およびビューの行の更新。

REDEFINE ANY TABLE

USERモードまたはFULLモードで権限を付与せずに、オンライン再定義を実行します。

表領域:

CREATE TABLESPACE

表領域の作成。

ALTER TABLESPACE

表領域の変更。

DROP TABLESPACE

表領域の削除。

MANAGE TABLESPACE

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

UNLIMITED TABLESPACE

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

トリガー:

CREATE TRIGGER

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

CREATE ANY TRIGGER

SYS、AUDSYSを除く任意のスキーマ内でのデータベース・トリガーの作成。

ALTER ANY TRIGGER

SYS、AUDSYSを除く任意のスキーマ内でのデータベース・トリガーの有効化、無効化またはコンパイル。

DROP ANY TRIGGER

SYS、AUDSYSを除く任意のスキーマ内でのデータベース・トリガーの削除。

ADMINISTER DATABASE TRIGGER

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

型:

CREATE TYPE

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

CREATE ANY TYPE

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

ALTER ANY TYPE

SYS、AUDSYSを除く任意のスキーマ内でのオブジェクト型の変更。

DROP ANY TYPE

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

EXECUTE ANY TYPE

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

UNDER ANY TYPE

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

ユーザー:

CREATE USER

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

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

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

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

ALTER USER

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

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

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

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

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

DROP USER

ユーザーの削除。

ビュー:

CREATE VIEW

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

CREATE ANY VIEW

SYS、AUDSYSを除く任意のスキーマ内でのビューの作成。

DROP ANY VIEW

SYS、AUDSYSを除く任意のスキーマ内でのビューの削除。

UNDER ANY VIEW

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

FLASHBACK ANY TABLE

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

MERGE ANY VIEW

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

その他:

ANALYZE ANY

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

AUDIT ANY

SYS、AUDSYSを除く任意のスキーマ内での、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

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

EXEMPT ACCESS POLICY

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

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

FORCE ANY TRANSACTION

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

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

FORCE TRANSACTION

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

GRANT ANY OBJECT PRIVILEGE

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

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

GRANT ANY PRIVILEGE

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

INHERIT ANY PRIVILEGES

実行者の権限を持つ権限受領者が所有する実行者権限プロシージャの実行。

KEEP DATE TIME

権限受領者がアプリケーションを実行している場合、SYSDATEファンクションおよびSYSTIMESTAMPファンクションは、アプリケーション・コンティニュイティのための再生中に元の値を戻します。この権限は、リカバリ可能なエラー後にバインド変数の一貫性を保持するために役立ちます。

ノート: この権限が要求の実行時またはフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に元の値が戻されなくなります。

KEEP SYSGUID

権限受領者がアプリケーションを実行している場合、SYS_GUIDファンクションは、アプリケーション・コンティニュイティのための再実行中に元の値を戻します。この権限は、リカバリ可能なエラー後にバインド変数の一貫性を保持するために役立ちます。

ノート: この権限が要求の実行時またはフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に元の値が戻されなくなります。

PURGE DBA_RECYCLEBIN

システム全体のごみ箱からのすべてのオブジェクトの削除。

RESUMABLE

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

SELECT ANY DICTIONARY

SYS内の任意のデータ・ディクショナリ・オブジェクトの問合せ。ただし、DEFAULT_PWD$ENC$LINK$USER$USER_HISTORY$、およびXS$VERIFIERSオブジェクトを除きます。

初期化パラメータO7_DICTIONARY_ACCESSIBILITYのデフォルトのFALSE設定を選択的に上書きします。

SELECT ANY TRANSACTION

FLASHBACK_TRANSACTION_QUERYビューの内容の問合せ

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

SYSBACKUP

次のバックアップ操作およびリカバリ操作の実行

STARTUPおよびSHUTDOWN

CREATE CONTROLFILE

CREATE PFILEおよびCREATE SPFILE

FLASHBACK DATABASE

リストア・ポイント(保証付きリストア・ポイントを含む)の作成、使用、表示、および削除。

DBMS_DATAPUMPDBMS_PIPEDBMS_TDB、およびDBMS_TTSパッケージ内のプロシージャの実行

X$の表、V$のビュー、およびGV$のビューに対するSELECT

ALTER DATABASEALTER SESSIONALTER SYSTEMALTER TABLESPACECREATE ANY CLUSTERCREATE ANY DIRECTORYCREATE ANY TABLECREATE SESSIONDROP DATABASEDROP TABLESPACERESUMABLESELECT ANY DICTIONARYSELECT ANY TRANSACTIONUNLIMITED TABLESPACE権限およびSELECT_CATALOG_ROLEロールを含みます。

SYSDBA

STARTUPおよびSHUTDOWN

ALTER DATABASE(オープン、マウント、バックアップまたは文字セットの変更)

CREATE DATABASE

DROP DATABASE

ARCHIVELOGおよびRECOVERY

CREATE SPFILE

RESTRICTED SESSION権限を含みます。

SYSDG

次のOracle Data Guard操作の実行

STARTUPおよびSHUTDOWN

FLASHBACK DATABASE

リストア・ポイント(保証付きリストア・ポイントを含む)の作成、使用、表示、および削除。

X$の表、V$のビュー、およびGV$のビューに対するSELECT

ALTER DATABASEALTER SESSIONALTER SYSTEMCREATE SESSION、およびSELECT ANY DICTIONARY権限を含みます。

SYSKM

次の暗号化キー管理操作の実行

データベースへの接続(データベースがオープンされていない場合でも)。

データベースがオープンされている場合は、V$CLIENT_SECRETSV$ENCRYPTED_TABLESPACESV$ENCRYPTION_KEYSV$ENCRYPTION_WALLETおよびV$WALLETビューに対するSELECT

ADMINISTER KEY MANAGEMENTおよびCREATE SESSION権限を含みます。

SYSOPER

STARTUP操作およびSHUTDOWN操作

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

ARCHIVELOGおよびRECOVERY

CREATE SPFILE

RESTRICTED SESSION権限を含みます。

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

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

分析ビュー権限

次の分析ビュー権限は、分析ビューの操作を許可します。

ALTER

分析ビューの名前の変更。

READ

SELECT文でのオブジェクトの問合せ。

SELECT SELECT文でのオブジェクトの問合せ。

属性ディメンション権限

次の属性ディメンション権限は、属性ディメンションの操作を許可します。

ALTER

属性ディメンションの名前の変更。

ディレクトリ権限

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

READ

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

WRITE

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

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

EXECUTE

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

エディション権限

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

USE

エディションの使用。

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

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

FLASHBACK ARCHIVE

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

階層権限

次の階層権限は、階層の操作を許可します。

ALTER

階層の名前の変更。

READ

SELECT文でのオブジェクトの問合せ。

SELECT

SELECT文でのオブジェクトの問合せ。

索引タイプ権限

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

EXECUTE

索引タイプの参照。

ライブラリ権限

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

EXECUTE

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

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

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

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

ON COMMIT REFRESH

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

QUERY REWRITE

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

READ

マテリアライズド・ビューを問い合せます。

SELECT

マテリアライズド・ビューを問い合せます。SELECT ... FOR UPDATEまたはLOCK TABLE文を使用して、行ロックを取得します。

マイニング・モデル権限

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

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

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

USE

指定したスケジューラ・リソース・オブジェクトの、プログラムおよびジョブとの関連付け。

順序権限

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

ALTER

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

KEEP SEQUENCE

権限受領者がアプリケーションを実行している場合、順序疑似列NEXTVALは、アプリケーション・コンティニュイティのための再実行中に元の値を保持します。この権限は、リカバリ可能なエラーの後で再実行するときに、バインド変数の一貫性を確保するために役立ちます。

この権限が要求の実行時およびフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に、NEXTVALの元の値は保持されなくなります。

ノート: この権限は、GRANT ALL PRIVILEGES ON sequence文では付与されません。この権限を明示的に付与する必要があります。

ノート: この権限はDBAロールの一部です。

SELECT

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

SQL翻訳プロファイル権限

次のSQL翻訳プロファイルの権限は、SQL翻訳プロファイルに対する操作を許可します。

ALTER

SQL翻訳プロファイルのトランスレータ、カスタムSQL文の翻訳、またはカスタム・エラーの翻訳の変更。

USE

SQL翻訳プロファイルの使用。

シノニム権限

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

表権限

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

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

ALTER

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

DEBUG

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

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

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

DELETE

DELETE文での表の行の削除。

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

INDEX

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

INSERT

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

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

READ

SELECT文での表の問合せ。SELECT ... FOR UPDATEを許可しません。

REFERENCES

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

SELECT

SELECT ... FOR UPDATEを含むSELECT文を使用して、表を問い合せます。

UPDATE

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

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

FLASHBACK

問合せ中に特定の表へのアクセスを許可するには、表に対するFLASHBACK権限を付与します。

表でSQLフラッシュバック問合せを発行します。

ユーザー権限

次の権限はユーザーの操作を許可します。

INHERIT PRIVILEGES

実行者がこの権限を付与されたユーザーの場合、実行者の権限を持つ権限受領者が所有する実行者権限プロシージャまたはファンクションの実行。

INHERIT REMOTE PRIVILEGES

この権限が付与されたユーザーが、権限受領者が所有する定義者権限プロシージャまたはファンクション(現在のユーザー・データベース・リンクを含む)を実行することを許可します。

TRANSLATE SQL

権限受領者のSQL翻訳プロファイルを使用して、この権限が付与されたユーザー用にSQLを変換。

ビュー権限

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

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

DEBUG

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

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

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

DELETE

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

INSERT

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

MERGE VIEW

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

READ

SELECT文でのビューの問合せ。SELECT ... FOR UPDATEを許可しません。

REFERENCES

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

SELECT

SELECT ... FOR UPDATEを含むSELECT文を使用して、ビューを問い合せます。

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

UNDER

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

UPDATE

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

UPDATE

問合せ中に特定のビューへのアクセスを許可するには、ビューに対するFLASHBACK権限を付与します。

ビューでSQLフラッシュバック問合せを発行します。

ユーザーへのシステム権限の付与: 例

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

GRANT CREATE SESSION 
   TO hr;

システム権限の付与時のユーザー・パスワードの割当て: 例

ユーザーhrが存在し、ユーザーnewuserが存在しないとします。次の文は、ユーザーhrのパスワードをpassword1にリセットし、ユーザーnewuserpassword2とともに作成し、両ユーザーにCREATE SESSIONシステム権限を付与します。

GRANT CREATE SESSION
  TO hr, newuser IDENTIFIED BY password1, password2;

ロールへのシステム権限の付与: 例

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

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付きロールの付与: 例

次の文は、ADMIN OPTION付きのdw_managerロールをサンプル・ユーザーshに付与します。

GRANT dw_manager 
   TO sh 
   WITH ADMIN OPTION; 

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

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

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

  • ロールの削除

  • shスキーマ内のプログラム・ユニットのdw_managerロールを付与および取り消します。

DELEGATE OPTION付きロールの付与: 例

次の文は、DELEGATE OPTION付きのdw_managerロールをサンプル・ユーザーshに付与します。

GRANT dw_manager 
   TO sh 
   WITH DELEGATE OPTION; 

ユーザーshは、shスキーマ内のプログラム・ユニットのdw_managerロールを付与および取り消すことができます。

ロールへのオブジェクト権限の付与: 例

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

GRANT SELECT ON sh.sales TO warehouse_user;

ロールへのロールの付与: 例

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

GRANT warehouse_user TO dw_manager; 

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

ユーザーに対するオブジェクト権限の付与: 例

次の文は、ユーザーshに対するINHERIT PRIVILEGESオブジェクト権限をユーザーhrに付与します。

GRANT INHERIT PRIVILEGES ON USER sh TO hr;

ディレクトリに対するオブジェクト権限の付与: 例

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

GRANT READ ON DIRECTORY bfile_dir TO hr
   WITH GRANT OPTION;

表に対するオブジェクト権限のユーザーへの付与: 例

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

GRANT ALL ON bonuses TO hr 
   WITH GRANT OPTION; 

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

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

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

ビューに対するオブジェクト権限の付与: 例

次の文は、ビューemp_view (「ビューの作成: 例」で作成)に対するSELECTUPDATEの権限をすべてのユーザーに付与します。

GRANT SELECT, UPDATE 
   ON emp_view TO PUBLIC; 

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

別のスキーマの順序へのオブジェクト権限の付与: 例

次の文は、スキーマoe内のcustomers_seq順序に対するSELECT権限をユーザーhrに付与します。

GRANT SELECT 
   ON oe.customers_seq TO hr; 

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

SELECT oe.customers_seq.NEXTVAL 
   FROM DUAL; 

別々の列に対する複数のオブジェクト権限の付与: 例

次の文は、ユーザーoeに、スキーマhremployees表のemployee_id列に対するREFERENCES権限と、employee_id列、salary列およびcommission_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によって保証されます。