アクティブ・データベースの作成および構成
この例では、アクティブ・スタンバイ・ペアのレプリケーション・スキームでアクティブ・データベースを作成および構成する方法を示します。
次に、アクティブ・スタンバイ・ペアのアクティブ・データベースのcacheactive
DSNの定義を示します。
[cacheactive] DataStore=/users/OracleCache/cacheact PermSize=64 OracleNetServiceName=orcl DatabaseCharacterSet=WE8ISO8859P1 CacheAdminWallet=1
ノート:
CacheAdminWallet
を最初の接続属性(通常はDSNで設定)として設定した場合、キャッシュ管理ユーザー資格証明をttCacheUidPwdSet
組込みプロシージャを使用して登録すると、メモリーではなくOracleウォレットに格納されます。
ttIsql
ユーティリティを開始して、cacheactive
DSNにインスタンス管理者として接続し、データベースを作成します。次に、Oracleキャッシュ管理ユーザーと同じ名前でTimesTenキャッシュ管理ユーザーcacheadmin
を作成します。
さらに、TimesTen ClassicデータベースにキャッシュされるOracle Database表を所有するOracle Databaseスキーマ・ユーザーと同じ名前でキャッシュ表ユーザーsales
を作成します。
% ttIsql cacheactive Command> CREATE USER cacheadmin IDENTIFIED BY timesten; Command> CREATE USER sales IDENTIFIED BY timesten;
インスタンス管理者としてttIsql
ユーティリティを使用して、必要な権限をTimesTenキャッシュ管理ユーザーcacheadmin
に付与し、ADMIN
権限を必要とするアクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します:
Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE, ADMIN TO cacheadmin; Command> exit
TimesTenキャッシュ管理ユーザーとして、ttIsql
ユーティリティを起動してcacheactive
DSNに接続します。ttCacheUidPwdSet
組込みプロシージャをコールして、Oracleキャッシュ管理ユーザーの名前およびパスワードを設定します。
% ttIsql "DSN=cacheactive;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet" Command> CALL ttCacheUidPwdSet('cacheadmin','orapwd');
必要に応じて、「TimesTenデータベースとOracleデータベース間での接続テスト」に示した手順を使用して、アクティブ・データベースとOracleデータベース間の接続性をテストできます。
TimesTenキャッシュ管理ユーザーとしてttCacheStart
組込みプロシージャをコールして、アクティブ・データベースでキャッシュ・エージェントを起動します:
Command> CALL ttCacheStart;
次の文は、動的AWTキャッシュ・グループにキャッシュされるOracle Database表の定義です。Oracle Database表は、スキーマ・ユーザーsales
が所有しています。
CREATE TABLE subscriber (subscriberid NUMBER(10) NOT NULL PRIMARY KEY, name VARCHAR2(100) NOT NULL, minutes_balance NUMBER(5) NOT NULL, last_call_duration NUMBER(4) NOT NULL);
TimesTenキャッシュ管理ユーザーがsales.subscriber
表をキャッシュするAWTキャッシュ・グループを作成できるように、Oracleキャッシュ管理ユーザーに、この表に対するSELECT
権限が付与されている必要があります。Oracle Databaseに対して非同期ライトスルー処理を行うには、Oracleキャッシュ管理ユーザーに、sales.subscriber
表に対するINSERT
、UPDATE
およびDELETE
のOracle Database権限が付与されている必要があります。
次に、TimesTenキャッシュ管理ユーザーとしてCREATE DYNAMIC ASYNCHRONOUS WRITETHROUGH CACHE GROUP
文を使用して、TimesTen Classicデータベースにキャッシュ・グループを作成します。たとえば、次の文では、sales.subscriber
表をキャッシュする動的AWTキャッシュ・グループsubscriber_accounts
が作成されます:
CREATE DYNAMIC ASYNCHRONOUS WRITETHROUGH CACHE GROUP subscriber_accounts FROM sales.subscriber (subscriberid NUMBER(10) NOT NULL PRIMARY KEY, name VARCHAR2(100) NOT NULL, minutes_balance NUMBER(5) NOT NULL, last_call_duration NUMBER(4) NOT NULL);
TimesTenキャッシュ管理ユーザーとして、CREATE ACTIVE STANDBY PAIR
文を使用して、アクティブ・データベースにアクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
次の例では、cacheact
、cachestand
およびsubscr
はそれぞれ、アクティブ・データベース、スタンバイ・データベースおよび読取り専用サブスクライバ・データベースのチェックポイント・ファイルおよびトランザクション・ログ・ファイルのファイル名接頭辞です。また、sys3
、sys4
およびsys5
はそれぞれ、アクティブ・データベース、スタンバイ・データベースおよび読取り専用サブスクライバ・データベースが存在するTimesTenシステムのホスト名です。
Command> CREATE ACTIVE STANDBY PAIR cacheact ON "sys3", cachestand ON "sys4" SUBSCRIBER subscr ON "sys5";
TimesTenキャッシュ管理ユーザーとして、ttRepStart
組込みプロシージャをコールして、アクティブ・データベースでレプリケーション・エージェントを起動します。次に、ttRepStateSet
組込みプロシージャをコールすることによって、データベースをアクティブとして宣言します。
Command> CALL ttRepStart; Command> CALL ttRepStateSet('active');