initCacheAdminSchema.sqlスクリプト

Oracleデータベース・オブジェクトを自動作成するには、Oracleデータベース・キャッシュ管理ユーザーに特定の権限が必要です。

キャッシュ管理ユーザーには、次の目的に使用される権限が必要です:

  • 特定のキャッシュ環境に関連付けられたTimesTenデータベースの情報の格納。

  • 自動リフレッシュを使用したキャッシュ・グループの定義済動作を実行します。この場合、これらのOracleデータベース・オブジェクトを自動的に作成するには、キャッシュ管理ユーザーに特定の権限が必要です。

  • AWTキャッシュ・グループの定義済動作の実行。

セキュリティの目的で、Oracle Databaseオブジェクトの自動作成に必要なCREATE CLUSTERCREATE INDEXTYPECREATE OPERATORCREATE PROCEDURECREATE SEQUENCECREATE TABLEおよびEXECUTE ON SYS.DBMS_LOBパッケージ権限をキャッシュ管理ユーザーに付与しない場合は、initCacheAdminSchema.sqlスクリプトを使用できます。このスクリプトによって付与される権限の詳細リストは、「キャッシュ処理のキャッシュ管理ユーザーに必要な権限」を参照してください。

特定のキャッシュ・グループ・タイプの定義済動作を実行するために使用されるOracle Database表およびトリガーを作成するには、sysユーザーとして、SQL*Plusスクリプトtimesten_home/install/oraclescripts/initCacheAdminSchema.sqlを実行します。これらのオブジェクトは、自動リフレッシュを使用したャッシュ・グループおよびAWTキャッシュ・グループを作成する前に作成する必要があります。initCacheAdminSchema.sqlスクリプトには、キャッシュ管理ユーザー名が入力として必要です。

作成するキャッシュ・グループのタイプおよびキャッシュ・グループやキャッシュ表に対して実行する処理によっては、initCacheAdminSchema.sqlスクリプトの実行によってキャッシュ管理ユーザーに付与される権限の他に、キャッシュされたOracle Database表に対するSELECTINSERTなどのユーザー権限を付与することが必要になる場合があります。

sysユーザーとして、SQL*Plusを使用し、initCacheAdminSchema.sqlスクリプトを実行して、データのキャッシュの管理に使用されるOracle Databaseオブジェクトを作成します。これらのOracle Databaseオブジェクトは、自動リフレッシュを使用したキャッシュ・グループおよびAWTキャッシュ・グループの定義済動作を実行し、キャッシュ管理ユーザーに制限された権限セットを付与します。次の例では、Oracleデータベース・キャッシュ管理ユーザー名はcacheadminです。

SQL> @initCacheAdminSchema "cacheadmin"
SQL> exit

自動リフレッシュを使用したキャッシュ・グループにキャッシュされるOracleデータベース表に関連付けられたその他のOracleデータベース・オブジェクトは、これらのキャッシュ・グループ・タイプの定義済動作を実行するために必要になります。自動リフレッシュを使用したキャッシュ・グループを作成するステップの一部として、これらの追加オブジェクトを作成する方法の詳細は、「自動リフレッシュを使用したキャッシュ・グループ用のOracle Databaseオブジェクトの手動作成」を参照してください。

Oracleデータベースのデータのキャッシュを管理するためにTimesTenで作成して使用するOracleデータベース・オブジェクトのリストを表示するには、sysユーザーとしてSQL*Plusで次の問合せを実行します:

SQL> SELECT owner, object_name, object_type FROM all_objects WHERE object_name 
  2  LIKE 'TT\___%' ESCAPE '\';

この問合せでは、キャッシュ管理ユーザーが所有している表、索引およびトリガーのリストが返されます。