キャッシュ・グループの権限
キャッシュ・グループには特定のユーザーおよび権限が必要です。
キャッシュ・グループのユーザーおよび権限について
キャッシュ・グループに対するシステム権限およびオブジェクト権限があります。ユーザーがキャッシュ・グループに関係する操作を実行するためには、適切なキャッシュ・グループ権限を持っている必要があります。
また、管理ユーザー、つまりOracleキャッシュ管理ユーザーおよびTimesTenキャッシュ管理ユーザーがあり、特別な権限が必要です。「キャッシュ・グループ・ユーザー」を参照してください。
キャッシュ・グループ処理のためのシステム権限とオブジェクト権限の完全なリストは、『Oracle TimesTen In-Memory Database SQLリファレンス』の権限を参照してください。
ノート:
パススルーの場合、権限はOracleデータベースによってユーザー資格証明を使用してチェックされるため、キャッシュ・グループ権限は必要ありません。
Oracleキャッシュ管理ユーザー権限
Oracleキャッシュ管理ユーザーに、キャッシュ操作の実行に必要な最小限の権限セットを付与するには、Oracle Databaseで、SYS
ユーザーとしてtimesten_home
/install/oraclescripts
ディレクトリでSQL*PlusスクリプトgrantCacheAdminPrivileges.sql
を実行します。
詳細は、『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のOracle Databaseユーザーへの権限の付与を参照してください。
TimesTenキャッシュ管理ユーザー権限
TimesTenのキャッシュ管理ユーザーに必要な権限はCACHE_MANAGER
システム権限です。これにより、ユーザーは必要なキャッシュ・グループ処理を実行できます。
TimesTenキャッシュ管理ユーザーが読取り専用キャッシュ・グループの初期ロードを実行したり、読取り専用キャッシュ・グループの自動リフレッシュ状態を変更するには、CACHE_MANAGER
権限が必要です。(初期ロードを実行すると、キャッシュ・グループの自動リフレッシュの状態が一時停止からオンに暗黙的に変更されます。)
個々のキャッシュ・グループ処理権限の完全なリストは、『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のキャッシュ操作に必要な権限を参照してください。
これは、CACHE_MANAGER
権限をpat
に付与します。
Command> GRANT CACHE_MANAGER TO pat;
ノート:
ASYNCHRONOUS WRITETHROUGH(AWT)キャッシュ・グループは、キャッシュ・グループとレプリケーションの両方の機能を持ちます。CACHE_MANAGER
権限は、AWTキャッシュ・グループの作成に必要なすべての権限を付与します。
その他のキャッシュ・ユーザーの権限
特定のキャッシュ・グループ権限は、他のユーザー(非管理ユーザー)に必要です。
非管理キャッシュ・ユーザー
キャッシュ・グループまたはキャッシュ表に対する処理(キャッシュ・グループのロードやキャッシュ表の更新など)は、十分な権限を持ついずれのTimesTenユーザーでも実行できます。
これらのユーザーには、キャッシュされたOracle Database表から選択して更新する権限を持つ、同じ名前の対応するOracle Databaseユーザーが必要です。
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のTimesTenユーザーの作成およびTimesTenユーザーへの権限の付与を参照してください。
キャッシュ・グループのシステム権限
キャッシュ・グループのシステム権限を持つユーザーは、データベース全体でキャッシュ・グループ・オブジェクトを操作できます。
-
キャッシュ・グループを作成するには、
CREATE CACHE GROUP
システム権限またはCREATE ANY CACHE GROUP
システム権限が必要です。さらに、基礎となるキャッシュ表を作成するには、その表を自分が所有するかどうかに応じて、CREATE ANY TABLE
権限またはCREATE TABLE
権限のいずれかが付与される必要があります。 -
自分が所有していないキャッシュ・グループを破棄または変更する場合、ユーザーには、適宜
DROP ANY CACHE GROUP
権限またはALTER ANY CACHE GROUP
権限が付与されている必要があります。さらに、ユーザーが、自分が所有していない基礎となるキャッシュ表を破棄するには、DROP ANY TABLE
権限を付与される必要があります。
たとえば、次の例では、データベースに含まれる任意のキャッシュ・グループを変更する権限をユーザーに付与します。
Command> GRANT ALTER ANY CACHE GROUP TO pat;
これらのキャッシュ・グループのシステム権限は、ユーザーが所有していないオブジェクトに対する操作用です。
-
FLUSH ANY CACHE GROUP
-
LOAD ANY CACHE GROUP
-
UNLOAD ANY CACHE GROUP
-
REFRESH ANY CACHE GROUP
キャッシュ・グループのオブジェクト権限
キャッシュ・グループ処理のオブジェクト権限により、ユーザーは、自分が所有していない特定のキャッシュ・グループに対して特定の処理を実行できます。
使用可能なキャッシュ・グループのオブジェクト権限は次のとおりです。
-
FLUSH
-
LOAD
-
UNLOAD
-
REFRESH
この例では、terry
が所有するキャッシュ・グループcachegrp
に対してFLUSH
を実行するために、pat
にキャッシュ・グループ・オブジェクト権限を付与します。
Command> GRANT FLUSH ON terry.cachegrp TO pat;
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のTimesTenとOracle Databases間での変更の転送方法を参照してください。