スタンバイ・データベースの作成

アクティブ・マスター・データベースの設定後、アクティブ・データベースをスタンバイ・サーバーにクローニングすることによってスタンバイ・データベースを作成できます。アクティブ・データベースを複製するには、スタンバイ・マシンのインスタンス管理者がアクティブ・サーバーのインスタンス管理者と同じである必要があります。

このチュートリアルでは、TimesTen 11.2.1に付属する事前定義済のDSNであるcachedb1_1121を使用します。例にある2台のマシンのホスト名はstacb12およびstach17です。cachedb1_1121stacb12のアクティブ・キャッシュ・データベースであり、stach17cachedb2_1121はスタンバイ・キャッシュ・データベースです。

10. スタンバイへのアクティブ・データベースの複製
a. インスタンス管理者としてサーバー2(stach17)にログインします。ttRepAdminユーティリティを使用して、アクティブ・キャッシュ・データベースをスタンバイ・データベースに複製します。
   
  ttrepadmin -duplicate -from cachedb1_1121 -host "stacb12" -uid cacheadm -pwd cacheadm -keepcg -cacheuid cacheadm -cachepwd cacheadm "dsn=cachedb2_1121"
   
  -from句では、DSN名ではなく、データ・ストア名cachedb1_1121が使用されていることに注意してください。-uidおよび-pwdは、アクティブ・データベースでADMIN権限を持つユーザーの名前およびパスワードに対応しています。
11. キャッシュ・グリッドへのアクティブ・データベースのアタッチ(グローバル・キャッシュ・グループが存在する場合にのみ必要)
a. 手順11は、グローバル・キャッシュ・グループがキャッシュ・データベースにある場合、またはグローバル・キャッシュ・グループ操作が必要な場合にのみ必要です。

ttIsqlにユーザーcacheadmとして、cacheadmのTimesTenユーザー・パスワードとOracleユーザー・パスワードの両方を渡してログインし、cachedb1_1121に接続します。
   
  connect "dsn=cachedb1_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
   
b. プロシージャttGridAttachをコールして、キャッシュ・グリッドに現行のキャッシュ・データベースを追加します。
   
  call ttgridattach (1,'cachedb1','stacb12',9991,'cachedb2','stach17',9992);
   
  注意: cachedb1およびcachedb2は、任意の名前であり、2つのデータベースがアクティブ・スタンバイ・ペアに関連することを示すために使用されます。stacb12はデータベースcachedb1_1121があるマシンのホスト名であり、stach17はデータベースcachedb2_1121があるマシンのホスト名です。TCP/IPポート番号9991および9992は任意です。ただし、他のTCPポート(ftp、telnetなど)と競合しないようにする必要があります。特に、ホスト名とポートの組合せは一意である必要があります。最初のパラメータ1は、現行のデータベースがパラメータ・リストの1つ目のデータベースであることを示しています。
   
c. プロシージャttGridNodeStatusを使用してアタッチされているすべてのグリッド・メンバーをリストし、キャッシュ・グリッドsamplegridにcachedb1_1121が参加したことを確認します。
   
  call ttgridnodestatus;
   
 
12. スタンバイ・データベースでのレプリケーション・エージェントの起動
a. ttIsqlにユーザーcacheadmとしてcacheadmのTimesTenユーザー・パスワードとOracleユーザー・パスワードの両方を渡して、ログインし、スタンバイ・データベース(cachedb2_1121)に接続します。
   
  connect "dsn=cachedb2_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
   
b. スタンバイ・データベースのレプリケーション・エージェントは、アクティブ・データベースのデータを処理します。組込みプロシージャttRepStartを使用して、レプリケーション・エージェントを起動します。
   
  call ttrepstart;
   
c. cachedb2_1121がスタンバイ状態になるまで待ちます。組込みプロシージャttRepStateGetを使用して、データベースの現在のレプリケーション状態を確認します。
   
  call ttrepstateget;
   
 
13. スタンバイ・データベースでのキャッシュ・エージェントの起動
a. スタンバイ・データベースでキャッシュ・エージェントを起動するには、組込みプロシージャttCacheStartをコールします。
   
  call ttcachestart;
14. キャッシュ・グリッドへのスタンバイ・データベースのアタッチ(グローバル・キャッシュ・グループが存在する場合にのみ必要)
a. 手順14は、グローバル・キャッシュ・グループがキャッシュ・データベースにある場合、またはグローバル・キャッシュ・グリッド操作を実行する必要がある場合にのみ必要です。プロシージャttGridAttachをコールして、キャッシュ・グリッドに現行のスタンバイ・キャッシュ・データベースを追加します。
   
  call ttgridattach (2,'cachedb1','stacb12',9991,'cachedb2','stach17',9992);
   
  注意: 最初のパラメータ2は、現行のデータベースがパラメータ・リストの2つ目のデータベースであることを示しています。
   
b. プロシージャttGridNodeStatusを使用して、アタッチされているすべてのグリッド・メンバーをリストし、キャッシュ・グリッドsamplegridにcachedb2_1121が参加したことを確認します。
   
  call ttgridnodestatus;
   
 

 

15. キャッシュ・グループへのデータの事前ロード
a. ttIsqlにユーザーcacheadmとして、cacheadmのTimesTenユーザー・パスワードとOracleユーザー・パスワードの両方を渡してログインし、cachedb1_1121に接続します。
   
  connect "dsn=cachedb1_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
   
b. 読取り専用のキャッシュ・グループcacheadm.roを移入するには、ttIsqlで次のLOAD CACHE GROUP文を入力します。
   
 

load cache group ro commit every 256 rows;

   
 
   
c. IDが200よりも大きい従業員レコードを持つ動的キャッシュ・グループcacheadm.g_awtを事前にロードするには、ttIsqlに次のLOAD CACHE GROUP文を入力します。
   
  load cache group g_awt where employees.employee_id > 200 commit every 0 rows;
   
 
   
  注意: グローバル・キャッシュ・グループでは、キャッシュ・グリッドにキャッシュ・インスタンスがすでに存在する場合、LOAD CACHE GROUP文が失敗します。
   
データをロードすると、読取り専用キャッシュ・グループの自動リフレッシュ状態が、ONに変わります。定義されたリフレッシュ時間隔に到達すると、Oracleで基礎となる自動リフレッシュ表に対して行った変更がキャッシュ表に適用されます。非同期WRITETHROUGHキャッシュ・グループでは、レプリケーション・エージェント・プロセスが起動されて実行されている場合に、キャッシュ・データベースのすべての更新がOracle Databaseに伝播されます。

アクティブ・スタンバイ・ペアの構成が完了しました。アクティブ・キャッシュ・データベースでのデータの変更は、スタンバイ・キャッシュ・データベースに自動的にレプリケートされます。

 

< 戻る 1 2 3