Oracle Databaseにおける必須の構成

Oracle Databaseの表をIn-Memory Database Cacheにキャッシュするには、Oracle Databaseにキャッシュ管理ユーザーおよびTimesTenシステム表を作成する必要があります。キャッシュ管理ユーザーは、Oracle Databaseとインメモリー・キャッシュ・データベースの間で変更を追跡するOracleユーザーです。このユーザーには、トリガーを作成する権限およびキャッシュ対象のOracle表にアクセスする権限を付与する必要があります。

1. Oracle Databaseでの表領域の作成

a.
SQL*Plusを使用し、ユーザーSYSとしてOracle Databaseにログインします。例では、Oracle Databaseを指すTNSサービス名として、ttorclを使用しています。
   
  sqlplus sys@ttorcl as sysdba
   
b. すべてのIMDBキャッシュ・オブジェクトを管理するための表領域を作成します。
   
  create tablespace ttusers datafile 'ttusers.dbf' SIZE 40M;

2. Oracle DatabaseでのTimesTenスキーマの作成

a.
<TimesTen_install_dir>/oraclescriptsディレクトリにあるスクリプトinitCacheGlobalSchema.sqlを実行して、Oracle DatabaseにTimesTenスキーマを作成します。 ユーザーTimesTenのデフォルトの表領域を入力するよう求められます。プロンプトでttusersと入力します。
   
  @TimesTen/tt1121/oraclescripts/initCacheGlobalSchema.sql
   
 

3. Oracle Databaseでのキャッシュ管理ユーザーの作成

a. キャッシュ管理ユーザーにOracleアカウントを作成します。この例では、cacheadmがキャッシュ管理ユーザーを表します。
   
  create user cacheadm identified by cacheadm
default tablespace ttusers
quota unlimited on ttusers
temporary tablespace temp;

4. キャッシュ管理ユーザーへのシステム権限の付与

a. スクリプト<TimesTen_install_dir>/oraclescripts/grantCacheAdminPrivileges.sqlを実行して、必要な権限をキャッシュ管理ユーザーに付与します。キャッシュ管理ユーザーの名前を入力するよう求められます。プロンプトでcacheadmと入力します。
   
  @TimesTen/tt1121/oraclescripts/grantCacheAdminPrivileges.sql
   
 

5. キャッシュ管理ユーザーへのデータ・アクセス権の付与

a. キャッシュ管理ユーザーは、キャッシュ・データベースとOracle Databaseを監視して、両者間のデータ変更を適用します。キャッシュされるOracle表へのアクセス権が付与されている必要があります。
   
  次の例で、hr.departments表は読取り専用の表として、hr.employees 表およびhr.job_history 表は更新可能な表としてキャッシュされています。ユーザーhrとしてログインし、cacheadmに次のオブジェクト権限を付与します。
   
  connect hr@ttorcl
grant select on hr.departments to cacheadm;
grant select, insert, update, delete on hr.employees to cacheadm;
grant select, insert, update, delete on hr.job_history to cacheadm;