ここでは、Windowsを再起動してからレプリケーションサービスへの影響を確認するための調査方法と復旧方法を説明します。
一括同期を運用している場合
一括同期の運用中にシステム異常が発生すると、以降の運用で以下のトラブルが発生する場合があります。
システム異常発生前に、相手サーバで更新したデータが反映されていない
スケジュールが実行されない
上記の状態から復旧するため、前回の同期結果とスケジュールの開始状態を確認してください。
Windowsの管理ツール(サービス)およびレプリケーションマネージャを使用して、スケジュールの状態を確認してください。
Windowsの管理ツール(サービス)を使用して、自動ジョブサービス「PowerReplication ATJS」が開始されていることを確認してください。
スケジュールを設定したサーバ(定義を作成したサーバ)で、自動ジョブサービス「PowerReplication ATJS」の開始状態を確認してください。
停止状態の場合、開始してください。
レプリケーションマネージャを使用して、ツリービューから該当するサーバの"スケジュール"を選択してください。
レプリケーションマネージャのリストビューウィンドウで該当するレプリケーショングループの[状態]および[結果]を参照して、スケジュールの状態と前回の同期結果が確認できます。
スケジュール定義を「開始」の状態にしてください。
レプリケーションマネージャの操作方法は、"6.1 レプリケーションマネージャ"を参照してください。
差分同期を運用している場合
差分同期の運用中にシステム異常が発生すると、以降の運用で以下のトラブルが発生する場合があります。
同期を実行してもデータベース間の整合性が保てない
同期の実行でエラーまたは競合が発生する
同期対象のデータファイルに対する利用者プログラムの更新がエラーとなる
システム異常発生前に、相手サーバで更新したデータが反映されていない
スケジュールが実行されない
上記の状態から復旧するため、レプリケーションの運用環境を点検してください。
図5.3 システム異常発生時の復旧方法
判定条件
Windowsの管理ツール(サービス)を使用して、レプリケーションサービス「PowerReplication」の開始状態を確認してください。
Windowsの管理ツール(サービス)を使用して、自動ジョブサービス「PowerReplication ATJS」の開始状態を確認してください。
詳細メッセージ情報ファイルを使用して、同期は開始されているが、完了していないレプリケーショングループの有無を確認してください。
同期実行の開始時および終了時に、以下のメッセージが詳細メッセージ情報ファイルに出力されます。
開始時:**SYNCHRONIZE REPLICATION GROUP(START)**
終了時:**SYNCHRONIZE REPLICATION GROUP(END)**
開始時のメッセージに対し、終了時のメッセージが出力されていないレプリケーショングループの有無を確認してください。
上記メッセージの詳細は、"F.5 監査ログ情報の出力"を参照してください。
rpdspdifコマンドを使用して、反映されていない更新情報の有無を確認してください。
更新情報の有無は、rpdspdifコマンドの表示内容の以下を参照して確認できます。
更新件数
コミット数
上記の値が0でない場合、未反映データ(更新情報)が残っていると判断できます。
rpdspdifコマンドの詳細は、"7.9 更新情報取得の状態表示コマンド"を参照してください。
rpdspdifコマンドの表示内容は、"付録G 更新情報取得状態の表示内容"を参照してください。
差分同期の実行でデータが反映されない場合、レプリケーションマネージャを使用して、更新情報の取得状態を確認してください。
レプリケーションマネージャのツリービューで、"マスタグループ"または"レプリカグループ"を選択してください。
リストビューウィンドウで該当するレプリケーショングループの[マスタグループ名]または[レプリカグループ名]のアイコンを参照して、更新情報の取得状態を確認できます。
リストビューウィンドウのアイコン | 更新情報の取得状態 |
---|---|
開始 | |
| 停止 |
| 定義不整合 |
レプリケーショングループに設定した運用形態に応じて、以下のアイコンを参照してください。
運用形態 | 参照するアイコン |
---|---|
配布 | マスタグループ定義のアイコン |
集約 | レプリカグループ定義のアイコン |
共用 | マスタグループ定義およびレプリカグループ定義のアイコン |
復旧処置
"4.1 PowerReplicationの運用を開始する"を参照して、PowerReplicationの運用を開始してください。
一括同期を実行して、データベース間の整合性を復旧してください。
一括同期を実行すると、反映先のデータが反映元のデータで上書きされるため、反映先のサーバで利用者プログラムが更新したデータが消失してしまいます。
このような状況を考慮して、以下の手順で一括同期を行ってください。
一括同期の反映先となる同期対象のデータファイルを退避
DBMSのユーティリティを使用して、データファイルを退避してください。
一括同期を実行
レプリケーションマネージャまたはrpsyncコマンドを使用して、一括同期を実行してください。
退避したデータファイルの未反映データを反映
運用形態に「共用」を設定したレプリカグループは、更新情報の取得が開始されていることを確認してください。その上で、レプリカ側の同期対象のデータファイルに対し、利用者プログラムやDBMSのユーティリティを使用して、未反映データを反映してください。
この場合の未反映データとは、一括同期を実行した結果のデータファイルと退避したデータファイルとの差分のデータを示します。
差分同期を実行
レプリケーションマネージャを使用した同期の実行方法は、"6.1.3 レプリケーションマネージャの画面操作"を参照してください。
rpsyncコマンドの詳細は、"7.2 同期実行コマンド"を参照してください。
DBMSのユーティリティを使用したデータファイルの退避方法およびデータファイルの更新方法は、使用するDBMSのマニュアルを参照してください。
一括同期の代替方法として、CSVデータによる同期方法を紹介します。
一括同期で転送するデータをCSVデータに変換して、連携するデータベース間で移出入することで、論理的に一括同期を行った状態にできます。
業務を停止して、利用者プログラムを終了してください。
同期実行のスケジュールを停止してください。
レプリケーションマネージャまたはrpsyncコマンドを使用して、差分同期を実行してください。
レプリケーションマネージャまたはrpctldifコマンドを使用して、更新情報取得を停止してください。
DBMSのユーティリティを使用して、同期対象のデータファイルをCSV形式のテキストファイルに移出してください。
移出したCSV形式のテキストファイルを、外部媒体またはネットワークを使用して、連携する相手サーバに取り込んでください。
取り込んだサーバ上で、DBMSのユーティリティを使用して、CSV形式のテキストファイルを同期対象のデータファイルに対して上書きするように移入してください。
レプリケーションマネージャまたはrpctldifコマンドを使用して、更新情報取得を開始してください。マスタ側とレプリカ側の両方で更新情報取得が開始されていることを確認してください。
同期実行のスケジュールを開始してください。
業務を再開できます。
移出入するデータベース間でDBMSが異なる場合、データ型の相違を考慮してください。また、PRIMERGY 6000/ASPと連携する場合、文字コードの相違や外字(利用者定義文字)を考慮して移出入してください。
CSV形式のテキストファイルを移出入する方法は、DBMSのマニュアルを参照してください。