この章では、TimesTen操作を実行する場合に必要な権限について説明します。 内容は次のとおりです。
システム権限とは、特定のアクションを実行したり、特定のタイプのオブジェクトでアクションを実行する権限のことです。オブジェクトには、表、ビュー、マテリアライズド・ビュー、索引、順序、キャッシュ・グループ、レプリケーション・スキームと、PL/SQLファンクション、プロシージャおよびパッケージがあります。 インスタンス管理者またはADMIN権限を持つユーザーのみが、システム権限の付与または取消しを行うことができます。
表6-1 システム権限
権限 | 説明 |
---|---|
ユーザーはチェックポイント、バックアップ、移行、ユーザーの作成と削除などの管理タスクを実行できます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループを変更できます。 |
|
ユーザーはデータベース内の任意の索引を変更できます。 注意: ALTER INDEX文はありません。 |
|
ユーザーはデータベース内の任意のマテリアライズド・ビューを変更できます。 注意: ALTER MATERIALIZED VIEW文はありません。 |
|
ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを変更できます。 |
|
ユーザーはデータベース内の任意の順序を変更できます。 注意: ALTER SEQUENCE文はありません。 |
|
ユーザーはデータベース内の任意の表を変更できます。 |
|
ユーザーはデータベース内の任意のビューを変更できます。 注意: ALTER VIEW文はありません。 |
|
ユーザーはキャッシュ・グループに関連する操作を実行できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有するキャッシュ・グループを作成できます。 |
|
ユーザーはデータベース内の任意の表またはマテリアライズド・ビューの索引を作成できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有するマテリアライズド・ビューを作成できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有するPL/SQLプロシージャ、ファンクションまたはパッケージを作成できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有する順序を作成できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有する表を作成できます。 |
|
ユーザーはデータベース内の任意のユーザーが所有するビューを作成できます。 |
|
ユーザーはユーザー自身が所有するキャッシュグループを作成できます。 |
|
ユーザーはユーザー自身が所有するマテリアライズド・ビューを作成できます。 |
|
ユーザーはユーザー自身が所有するPL/SQLプロシージャ、ファンクションまたはパッケージを作成できます。 |
|
ユーザーはユーザー自身が所有する順序を作成できます。 |
|
ユーザーはデータベースへの接続を作成できます。 |
|
ユーザーはユーザー自身が所有する表を作成できます。 |
|
ユーザーはユーザー自身が所有するビューを作成できます。 |
|
ユーザーはデータベース内の任意の表から削除できます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループを削除できます。 |
|
ユーザーはデータベース内の任意の索引を削除できます。 |
|
ユーザーはデータベース内の任意のマテリアライズド・ビューを削除できます。 |
|
ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを削除できます。 |
|
ユーザーはデータベース内の任意の順序を削除できます。 |
|
ユーザーはデータベース内の任意の表を削除できます。 |
|
ユーザーはデータベース内の任意のビューを削除できます。 |
|
ユーザーはデータベース内の任意のPL/SQLプロシージャ、ファンクションまたはパッケージを実行できます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループをフラッシュできます。 |
|
ユーザーはデータベース内の任意の表に挿入できます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループをロードできます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループをリフレッシュできます。 |
|
ユーザーはデータベース内の任意の順序から選択できます。 |
|
ユーザーはデータベース内の任意の表から選択できます。 |
|
ユーザーはデータベース内の任意のキャッシュ・グループをアンロードできます。 |
|
ユーザーはデータベース内の任意の表を更新できます。 |
|
ユーザーはXLAリーダーとしてデータベースに接続できます。 |
オブジェクト権限とは、オブジェクトで特定のアクションを実行したり、別のユーザーのオブジェクトにアクセスする権限のことです。オブジェクトには、表、ビュー、マテリアライズド・ビュー、索引、順序、キャッシュ・グループ、レプリケーション・スキームと、PL/SQLファンクション、プロシージャおよびパッケージがあります。
オブジェクトの所有者には、そのオブジェクトに対するすべてのオブジェクト権限があり、これらの権限は取り消しできません。 オブジェクトの所有者は、そのオブジェクトに対するオブジェクト権限を他のデータベース・ユーザーに付与できます。 ADMIN権限を持つユーザーは、権限が付与されているオブジェクトについて、そのオブジェクトを所有しないユーザーに対してオブジェクト権限を付与したり、取り消すことができます。
表6-2 オブジェクト権限
権限 | オブジェクト型 | 説明 |
---|---|---|
表 |
ユーザーは表から削除できます。 |
|
PL/SQLパッケージ、プロシージャまたはファンクション |
ユーザーはPL/SQLパッケージ、プロシージャまたはファンクションを直接実行できます。 |
|
キャッシュ・グループ |
ユーザーはキャッシュ・グループをフラッシュできます。 |
|
表またはマテリアライズド・ビュー |
ユーザーは表またはマテリアライズド・ビューの索引を作成できます。 |
|
表 |
ユーザーは表に挿入できます。 |
|
キャッシュ・グループ |
ユーザーはキャッシュ・グループをロードできます。 |
|
表またはマテリアライズド・ビュー |
ユーザーは表またはマテリアライズド・ビューの外部キーへの依存性を作成できます。 親表のREFERENCES権限によって、親表のSELECT権限が暗黙的に付与されます。 |
|
キャッシュ・グループ |
ユーザーはキャッシュ・グループをリフレッシュできます。 |
|
表、順序、ビューまたはマテリアライズド・ビュー |
ユーザーは表、順序、ビューまたはマテリアライズド・ビューから選択できます。 SELECT権限によって、ユーザーは順序のすべての操作を実行できます。 ビューのSELECT権限は、ディテール表のSELECT権限を持たないユーザーにも付与できます。 |
|
キャッシュ・グループ |
ユーザーはキャッシュ・グループをアンロードできます。 |
|
表 |
ユーザーは表を更新できます。 |
権限によって、その他の権限が付与される場合があります。 たとえば、ADMIN権限によって、他のすべての権限が付与されます。 CREATE ANY TABLEシステム権限によって、CREATE TABLEオブジェクト権限が付与されます。 表6-3に、権限の階層を示します。
表6-3 権限の階層
権限 | 付与される権限 |
---|---|
ADMIN |
CACHE_MANAGERを含む他のすべての権限 |
CREATE ANY INDEX |
INDEX ON(任意の表またはマテリアライズド・ビュー) |
CREATE ANY MATERIALIZED VIEW |
CREATE MATERIALIZED VIEW |
CREATE ANY PROCEDURE |
CREATE PROCEDURE |
CREATE ANY SEQUENCE |
CREATE SEQUENCE |
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(オブジェクト)
UNLOAD(オブジェクト)
REFRESH(オブジェクト)
CACHE_MANAGER権限には、キャッシュ・エージェントおよびレプリケーション・エージェントを開始および停止したり、キャッシュ・グリッド操作を実行する権限も含まれます。 これらの操作の組込みプロシージャおよびユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。
CREATE ANY CACHE GROUPによって、任意のキャッシュ・グループに対するCREATE CACHE GROUP権限が付与されます。
データベースのすべてのユーザーには、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';