利用者は、複写元システムの地域の被災を認識し、被災時の運用への切り替えの判断を行います。
以下の手順で実行してください。
複写元システム | 複写先システム |
---|---|
(DRレプリケーション運用中) | (DRレプリケーション運用中) |
被災 | |
(切り離し作業) |
データベースへの未反映RERUNログの確認
複写先データベースにすべてのRERUNログが反映されたかを確認します。
lxrepdrchk -p RLP名 -k own { -d DRレプリケーション定義ファイル名 | -b RLC退避ファイル配置先ディレクトリパス名 }
本コマンドにより出力されたメッセージが “残存あり”の場合は、DRレプリケーションによるデータベースの複製が完了していないので、しばらく待って再確認します。
その後、lxrepdrrefコマンド(-V -p RLP名)のRERUNログ反映情報と、SQL文などで被災により損失したRERUNログを確認します。
RERUNログ反映業務の停止
lxrepdrrep -a stop -m n { -p RLP名 -k reflect | -s DRレプリケーション業務名 } [-w 作業ディレクトリパス名]
RERUNログの取得停止
DRレプリケーションの全RLPを「終了オフライン」にします。
lxrepdrdis -p RLP名 -m term -k own
損失RERUNログと利用者プログラムの復旧
複写元システムが被災した場合、RERUNログ引継ぎファイル内の未完了状態のトランザクションや、複写先システムに転送待ちであったRLC退避ファイルのRERUNログは、複写先データベースに反映できません。手順1で確認した損失したRERUNログの情報を元にDSI間の整合性を合わせてください。
順序番号の復旧
複写元システムで生成した順序番号の更新RERUNログが、複写先システムに到達していない場合があるため、被災時点では、最新の順序番号が保証されません。
このため、データベース内で利用している使用済みの順序番号と、利用者プログラムで使用済みの順序番号を比較し、違いがある場合は順序番号の補正を行います。
順序定義を再定義する例を以下に示します。
例)
複写先システムの順序番号を確認した結果が498000、利用者プログラムで使用済みの順序番号が498432の場合の再定義する定義文の例を以下に示します。
-- 削除文 DROP SEQUENCE S1.順序1; -- 定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 500 START WITH 498500 ・・・初期値に補正した順序番号を設定 MAXVALUE 1000000;
利用者プログラムの再開