主コンテンツへ
Oracle® TimesTen In-Memory Database SQLリファレンス
リリース18.1
E98627-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 権限

複数のユーザーがデータベース・オブジェクトにアクセス可能な場合、これらのオブジェクトへの認可は権限を使用して制御できます。オブジェクトには必ず所有者が存在します。あるユーザーが他のユーザーによって所有されているオブジェクトを変更できるかどうかは、権限によって制御されます。権限の付与または取消しを実行できるのはインスタンス管理者、ADMIN権限を持つユーザー、または特定のオブジェクトに対する権限の場合は、そのオブジェクトの所有者です。

Oracle TimesTen In-Memory Databaseセキュリティ・ガイドの権限の付与と取消しでは、様々なオブジェクトに対する権限の付与および取消しの詳細を説明しています。また、次の各項に、TimesTenの操作を実行するために必要なすべての権限についてのクイック・リファレンスを示します。

システム権限

システム権限とは、特定のアクションを実行したり、特定のタイプのオブジェクトでアクションを実行する権限のことです。オブジェクトには、表、ビュー、マテリアライズド・ビュー、シノニム、索引、順序、キャッシュ・グループ、レプリケーション・スキームと、PL/SQLファンクション、プロシージャおよびパッケージがあります。インスタンス管理者またはADMIN権限を持つユーザーのみが、システム権限の付与または取消しを行うことができます。

表7-1 システム権限

権限 説明

ADMIN

ユーザーはチェックポイント、バックアップ、移行、ユーザーの作成と削除などの管理タスクを実行できます。

ALTER ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループを変更できます。

ALTER ANY INDEX

ユーザーはデータベース内の任意の索引を変更できます。

ノート: ALTER INDEX文はありません。

ALTER ANY MATERIALIZED VIEW

ユーザーはデータベース内の任意のマテリアライズド・ビューを変更できます。

ノート: ALTER MATERIALIZED VIEW文はありません。

ALTER ANY PROCEDURE

ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを変更できます。

ALTER ANY SEQUENCE

ユーザーはデータベース内の任意の順序を変更できます。

ALTER ANY TABLE

ユーザーはデータベース内の任意の表を変更できます。

ALTER ANY VIEW

ユーザーはデータベース内の任意のビューを変更できます。

ノート: ALTER VIEW文はありません。

CACHE_MANAGER

ユーザーはキャッシュ・グループに関連する操作を実行できます。

CREATE ANY CACHE GROUP

ユーザーはデータベース内の任意のユーザーが所有するキャッシュ・グループを作成できます。

CREATE ANY INDEX

ユーザーはデータベース内の任意の表またはマテリアライズド・ビューに索引を作成できます。

CREATE ANY MATERIALIZED VIEW

ユーザーはデータベース内の任意のユーザーが所有するマテリアライズド・ビューを作成できます。

CREATE ANY PROCEDURE

ユーザーはデータベース内の任意のユーザーが所有するPL/SQLプロシージャ、ファンクションまたはパッケージを作成できます。

CREATE ANY SEQUENCE

ユーザーはデータベース内の任意のユーザーが所有する順序を作成できます。

CREATE ANY SYNONYM

ユーザーはデータベース内の任意のユーザーが所有するプライベート・シノニムを作成できます。

CREATE ANY TABLE

ユーザーはデータベース内の任意のユーザーが所有する表を作成できます。

CREATE ANY VIEW

ユーザーはデータベース内の任意のユーザーが所有するビューを作成できます。

CREATE CACHE GROUP

ユーザーはユーザー自身が所有するキャッシュグループを作成できます。

CREATE MATERIALIZED VIEW

ユーザーはユーザー自身が所有するマテリアライズド・ビューを作成できます。

CREATE PROCEDURE

ユーザーはユーザー自身が所有するPL/SQLプロシージャ、ファンクションまたはパッケージを作成できます。

CREATE PUBLIC SYNONYM

ユーザーはパブリック・シノニムを作成できます。

CREATE SEQUENCE

ユーザーはユーザー自身が所有する順序を作成できます。

CREATE SESSION

ユーザーはデータベースへの接続を作成できます。

CREATE SYNONYM

ユーザーはプライベート・シノニムを作成できます。

CREATE TABLE

ユーザーはユーザー自身が所有する表を作成できます。

CREATE VIEW

ユーザーはユーザー自身が所有するビューを作成できます。

DELETE ANY TABLE

ユーザーはデータベース内の任意の表からの削除を行うことができます。

DROP ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループを削除できます。

DROP ANY INDEX

ユーザーはデータベース内の任意の索引を削除できます。

DROP ANY MATERIALIZED VIEW

ユーザーはデータベース内の任意のマテリアライズド・ビューを削除できます。

DROP ANY PROCEDURE

ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを削除できます。

DROP ANY SEQUENCE

ユーザーはデータベース内の任意の順序を削除できます。

DROP ANY SYNONYM

ユーザーはデータベース内の任意のユーザーが所有するシノニムを削除できます。

DROP ANY TABLE

ユーザーはデータベース内の任意の表を削除できます。

DROP ANY VIEW

ユーザーはデータベース内の任意のビューを削除できます。

DROP PUBLIC SYNONYM

ユーザーはパブリック・シノニムを削除できます。

EXECUTE ANY PROCEDURE

ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを実行できます。

FLUSH ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループをフラッシュできます。

INSERT ANY TABLE

ユーザーはデータベース内の任意の表に挿入できます。また、ユーザーは(パブリックまたはプライベート)シノニムを使用して、その表に任意の表を挿入できます。

LOAD ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループをロードできます。

REFRESH ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループをフラッシュできます。

SELECT ANY SEQUENCE

ユーザーはデータベース内の任意の順序または順序上のシノニムを選択できます。

SELECT ANY TABLE

ユーザーはデータベース内の任意の表、ビュー、マテリアライズド・ビューまたはシノニムを選択できます。

UNLOAD ANY CACHE GROUP

ユーザーはデータベース内の任意のキャッシュ・グループをアンロードできます。

UPDATE ANY TABLE

ユーザーはデータベース内の任意の表またはシノニムを更新できます。

XLA

ユーザーはXLAリーダーとしてデータベースに接続できます。


オブジェクト権限

オブジェクト権限とは、オブジェクトで特定のアクションを実行したり、別のユーザーのオブジェクトにアクセスする権限のことです。オブジェクトには、表、ビュー、マテリアライズド・ビュー、索引、シノニム、順序、キャッシュ・グループ、レプリケーション・スキームと、PL/SQLファンクション、プロシージャおよびパッケージがあります。

オブジェクトの所有者には、そのオブジェクトに対するすべてのオブジェクト権限があり、これらの権限は取り消しできません。オブジェクトの所有者は、そのオブジェクトに対するオブジェクト権限を他のデータベース・ユーザーに付与できます。ADMIN権限を持つユーザーは、権限が付与されているオブジェクトについて、そのオブジェクトを所有しないユーザーに対してオブジェクト権限を付与したり、取り消すことができます。

表7-2 オブジェクト権限

権限 オブジェクト型 説明

DELETE

ユーザーは表からの削除を行うことができます。

EXECUTE

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

ユーザーはPL/SQLパッケージ、プロシージャまたはファンクションを直接実行できます。

FLUSH

キャッシュ・グループ

ユーザーはキャッシュ・グループをフラッシュできます。

INDEX

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

ユーザーは表またはマテリアライズド・ビューに索引を作成できます。

INSERT

表またはシノニム

ユーザーは表への挿入、またはシノニムを使用した表への挿入を行うことができます。

LOAD

キャッシュ・グループ

ユーザーはキャッシュ・グループをロードできます。

REFERENCES

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

ユーザーは表またはマテリアライズド・ビューの外部キーへの依存性を作成できます。

親表のREFERENCES権限によって、親表のSELECT権限が暗黙的に付与されます。

REFRESH

キャッシュ・グループ

ユーザーはキャッシュ・グループをリフレッシュできます。

SELECT

表、順序、ビュー、マテリアライズド・ビューまたはシノニム

ユーザーは表、順序、ビューまたはマテリアライズド・ビューまたはシノニムから選択できます。

SELECT権限によって、ユーザーは順序のすべての操作を実行できます。

ユーザーには、元表に対するSELECT権限を明示的に付与しなくても、シノニムまたはビューに対するSELECT権限を付与できます。

UNLOAD

キャッシュ・グループ

ユーザーはキャッシュ・グループをアンロードできます。

UPDATE

ユーザーは表を更新できます。


権限の階層

権限によって、その他の権限が付与される場合があります。たとえば、ADMIN権限によって、他のすべての権限が付与されます。CREATE ANY TABLEシステム権限によって、CREATE TABLEオブジェクト権限が付与されます。表7-3に、権限の階層を示します。

表7-3 権限の階層

権限 付与される権限

ADMIN

CACHE_MANAGERを含む他のすべての権限

CREATE ANY INDEX

INDEX (任意の表またはマテリアライズド・ビュー)

CREATE ANY MATERIALIZED VIEW

CREATE MATERIALIZED VIEW

CREATE ANY PROCEDURE

CREATE PROCEDURE

CREATE ANY SEQUENCE

CREATE SEQUENCE

CREATE ANY SYNONYM

CREATE SYNONYM

CREATE ANY TABLE

CREATE TABLE

CREATE ANY VIEW

CREATE VIEW

DELETE ANY TABLE

DELETE (任意の表)

EXECUTE ANY PROCEDURE

EXECUTE(任意のプロシージャ)

INSERT ANY TABLE

INSERT(任意の表)

SELECT ANY SEQUENCE

SELECT (任意の順序)

SELECT ANY TABLE

SELECT(任意の表、ビューまたはマテリアライズド・ビュー)

UPDATE ANY TABLE

UPDATE (任意の表)


キャッシュ・グループ権限には、ADMINによってCACHE_MANAGER権限が付与される以外に、別の階層があります。

CACHE_MANAGER権限によって、次の権限が付与されます。

  • CREATE ANY CACHE GROUP

  • ALTER ANY CACHE GROUP

  • DROP ANY CACHE GROUP

  • FLUSH ANY CACHE GROUP

  • LOAD ANY CACHE GROUP

  • UNLOAD ANY CACHE GROUP

  • REFRESH ANY CACHE GROUP

  • FLUSH (オブジェクト)

  • LOAD (object)

  • UNLOAD (object)

  • REFRESH (object)

CACHE_MANAGER権限には、キャッシュ・エージェントおよびレプリケーション・エージェントを開始および停止する権限も含まれます。

CREATE ANY CACHE GROUPによって、任意のキャッシュ・グループに対するCREATE CACHE GROUP権限が付与されます。

PUBLICロール

データベースのすべてのユーザーには、PUBLICロールがあります。新しく作成されたTimesTenデータベースでは、デフォルトで、PUBLICは各種のシステム表やシステム・ビュー、PL/SQLファンクション、プロシージャおよびパッケージに対してSELECT権限およびEXECUTE権限を持ちます。次の問合せを使用すると、オブジェクトのリストを表示できます。

SELECT table_name, privilege FROM sys.dba_tab_privs WHERE grantee='PUBLIC';

データベース作成の一部としてPUBLICに付与されている権限は取り消せません。これらの権限のリストを参照するには、次の問合せを使用します。

SELECT table_name, privilege FROM sys.dba_tab_privs WHERE grantor='SYS';