アクティブ・データベースで発生した障害からのリカバリ
この項では、アクティブ・データベースまたはサーバーで障害が発生した後、スタンバイ・データベースへのフェイルオーバーを実行する方法について説明します。スタンバイ・データベースから以前のアクティブ・データベースを再構築する方法についても説明します。
このチュートリアルでは、TimesTen 11.2.1に付属する事前定義済のDSNであるrepdb1_1121およびrepdb2_1121を使用します。2台のマシンのホスト名はstacb12およびstach17です。repdb1_1121はstacb12のアクティブ・データベースであり、stach17のrepdb2_1121が新しいアクティブ・データベースになるように変換されます。
1. 障害が発生したデータベースでのレプリケーション・エージェントの停止
a. |
障害が発生したデータベースで、レプリケーション・エージェントがまだ停止されていない場合は停止します。インスタンス管理者としてサーバー1(stacb12)にログインし、ttAdminユーティリティを使用して、repdb1_1121でレプリケーション・エージェントを停止します。 |
|
|
|
ttadmin -repstop repdb1_1121 |
|
|
|
![](../images/rep_failover_repstop_repdb1.jpg) |
2. スタンバイ・データベースの状態のアクティブへの設定
a. |
ttIsqlを使用して、レプリケーション管理者admとしてデータベースrepdb2_1121に接続します。 |
|
|
|
ttisql "dsn=repdb2_1121;uid=adm" |
|
|
b. |
組込みプロシージャttRepStateSetを使用して、現行のデータベースをアクティブ・スタンバイ・ペアの新しいアクティブ・データベースとして指定します。次に、組込みプロシージャttRepStateGetをコールして、現在のレプリケーション状態を確認します。 |
|
|
|
call ttrepstateset('active'); call ttrepstateget; |
|
|
|
![](../images/rep_failover_make_active_repdb2.jpg) |
|
|
|
データベースがアクティブ・データベースに変換されると、アクティブ状態になります。これで、障害が発生したデータベースに以前接続されていたアプリケーションを新しいアクティブ・データベースで使用できるようになりました。詳細は、「レプリケーションのフェイルオーバーおよびリカバリ」を参照してください。 |
3. 以前のアクティブ・データベースのfailedとしての指定
a. |
プロシージャttRepStateSaveを使用して、以前のアクティブ・データベースをfailedとして登録します。 |
|
|
|
call ttrepstatesave ('failed','repdb1_1121','stacb12'); |
4. 障害が発生したデータベースの破棄
a. |
インスタンス管理者としてサーバー1(stacb12)にログインし、ttDestroyユーティリティを使用して、障害が発生したデータベースrepdb1_1121を削除します。 |
|
|
|
ttdestroy repdb1_1121 |
5. 新しいアクティブ・データベースの複製による新しいスタンバイ・データベースの作成
a. |
ttRepAdminユーティリティを使用し、新しいアクティブ・データベースから複製することによって、スタンバイ・データベースを作成します。 |
|
|
|
ttrepadmin -duplicate -from repdb2_1121 -host "stach17" -uid adm -pwd adm "dsn=repdb1_1121" |
6. スタンバイ・データベースでのレプリケーション・エージェントの起動
a. |
ttIsqlを使用して、レプリケーション管理者admとしてrepdb1_1121に接続します。組込みプロシージャttRepStartをコールして、レプリケーション・エージェントを起動します。 |
|
|
|
ttisql "dsn=repdb1_1121;uid=adm" call ttrepstart; |
|
|
b. |
ttRepStateGet組込みプロシージャを使用して、スタンバイ・データベースがスタンバイ状態になっていることを確認します。 |
|
|
|
call ttrepstateget; |
|
|
|
![](../images/rep_failover_repstateget_repdb1.jpg) |
スタンバイ・データベースがスタンバイ状態になると、アクティブ・スタンバイ・ペアの構成は完了です。アクティブ・データベースでのデータの変更は、スタンバイ・データベースに自動的にレプリケートされます。