この項では、アクティブ・キャッシュ・データベースまたはサーバーで障害が発生した後、スタンバイ・キャッシュ・データベースへのフェイルオーバーを実行する方法について説明します。スタンバイ・キャッシュ・データベースから以前のアクティブ・キャッシュ・データベースを再構築する方法についても説明します。
このチュートリアルでは、TimesTen 11.2.1に付属する事前定義済のDSNであるcachedb1_1121を使用します。2台のマシンのホスト名はstacb12およびstach17です。cachedb1_1121はstacb12のアクティブ・キャッシュ・データベースであり、stach17のcachedb2_1121が新しいアクティブ・キャッシュ・データベースになるように変換されます。
1. 障害が発生したデータベースでのレプリケーション・エージェントの停止
a. 障害が発生したデータベースで、レプリケーション・エージェントがまだ停止されていない場合は停止します。
インスタンス管理者としてサーバー1(stacb12)にログインし、ttAdminユーティリティを使用して、cachedb1_1121でレプリケーション・エージェントを停止します。ttadmin -repstop cachedb1_1121
2. スタンバイ・キャッシュ・データベースの状態のアクティブへの設定
a. ttIsqlで、レプリケーション管理者cacheadmとしてcachedb2_1121に接続します。 connect "dsn=cachedb2_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm"; b. 組込みプロシージャttRepStateSetを使用して、現行のデータベースをアクティブ・スタンバイ・ペアの新しいアクティブ・データベースとして指定します。 call ttrepstateset('active'); c. 組込みプロシージャttRepStateGetをコールして、現在のレプリケーション状態を確認します。 call ttrepstateget; キャッシュ・データベースがアクティブ・データベースに変換されると、アクティブ状態になります。これで、障害が発生したデータベースに以前接続されていたアプリケーションを新しいアクティブ・データベースで使用できるようになりました。詳細は、「レプリケーションのフェイルオーバーおよびリカバリ」を参照してください。
3. 以前のアクティブ・キャッシュ・データベースのfailedとしての指定
a. プロシージャttRepStateSaveを使用して、以前のアクティブ・データベースをfailedとして登録します。 call ttrepstatesave ('failed','cachedb1_1121','stacb12');
4. 障害が発生したデータベースでのキャッシュ・エージェントの停止
a. 障害が発生したデータベースで、キャッシュ・エージェントがまだ停止されていない場合は停止します。
インスタンス管理者としてサーバー1(stacb12)にログインし、ttAdminユーティリティを使用して、cachedb1_1121でキャッシュ・エージェントを停止します。ttadmin -cachestop cachedb1_1121
5. 障害が発生したキャッシュ・データベースの破棄
a. ttDestroyユーティリティを使用して、サーバー1(stacb12)の障害が発生したデータベース(cachedb1_1121)を削除します。データベースの状態によっては、ttDestroyで-forceオプションを使用して、障害が発生したデータベースを削除する必要がある場合があります。 ttdestroy cachedb1_1121
6. 新しいアクティブ・データベースの複製による新しいスタンバイ・データベースの作成
a. ttRepAdminユーティリティを使用し、新しいアクティブ・キャッシュ・データベースから複製することによって、サーバー1(stacb12)でスタンバイ・データベースを作成します。 ttrepadmin -duplicate -from cachedb2_1121 -host "stach17" -uid cacheadm -pwd cacheadm -keepcg -cacheuid cacheadm -cachepwd cacheadm "dsn=cachedb1_1121"
7. スタンバイ・データベースでのレプリケーション・エージェントの起動
a. ttIsqlでレプリケーション管理者cacheadmとしてcachedb1_1121に接続し、組込みプロシージャttRepStartを使用してレプリケーション・エージェントを起動します。 ttisql
connect "dsn=cachedb1_1121;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
call ttrepstart;b. ttRepStateGet組込みプロシージャを使用して、スタンバイ・キャッシュ・データベースがスタンバイ状態になっていることを確認します。 call ttrepstateget;
8. スタンバイ・データベースでのキャッシュ・エージェントの起動
a. スタンバイ・データベースでキャッシュ・エージェントを起動するには、組込みプロシージャttCacheStartをコールします。 call ttcachestart;
9. キャッシュ・グリッドへのスタンバイ・データベースのアタッチ(グローバル・キャッシュ・グループが存在する場合にのみ必要)
a. 手順9は、キャッシュ・データベースにグローバル・キャッシュ・グループが存在する場合にのみ実行する必要があります。プロシージャttGridAttachをコールして、キャッシュ・グリッドに現行のスタンバイ・キャッシュ・データベースを追加します。 call ttgridattach (1,'cachedb1','stacb12',9991,'cachedb2','stach17',9992); b. プロシージャttGridNodeStatusを使用してアタッチされているすべてのグリッド・メンバーをリストし、キャッシュ・グリッドsamplegridにcachedb1_1121が参加したことを確認します。 call ttgridnodestatus;
アクティブ・スタンバイ・ペアの構成が完了しました。アクティブ・データベースでのデータの変更は、スタンバイ・データベースに自動的にレプリケートされます。
ホーム | サイト・マップ | 連絡先 | Copyright © 2009 |