被災した複写元システムの復旧手順を説明します。
DRレプリケーション環境の復旧は、Symfoware/RDBとLinkexpressの環境復旧後、DRレプリケーションの残存する資源を削除し、DRレプリケーション環境を新規に構築しなおします。
以下の手順で実行してください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
(被災状態) | |
1.利用者プログラムの停止 | |
2.Symfoware/RDBの復旧 | |
4.RLP環境、BC管理DB、DRレプリケーション業務の削除 | 4.RLP環境、BC管理DB、DRレプリケーション業務の削除 |
利用者プログラムの停止
Symfoware/RDBの復旧
Symfoware/RDBの環境を被災前の状態に復旧または再構築します。再構築は、DRレプリケーション環境を初めて構築した際の手順で行ってください。
バックアップから復旧する場合は、Symfoware/RDBのリカバリ機能によって復旧します。
上記のいずれかの方法で復旧対象データベースの復旧後、被災していないシステムから順序番号を取得し、被災したシステムで順序番号を再定義し、被災していないデータベースのすべてのデータを、rdbunlコマンドおよびrdbsloaderコマンドによって、復旧対象データベースに反映します。
また、表定義に可変長列とBLOB列が存在する場合は、被災していないデータベースにもrdbsloaderコマンドにより反映しなおします。
Symfoware Serverのセットアップについては、“6.1.1 Symfoware Serverのセットアップ”を参照してください。
被災したシステムの順序番号の再定義は以下のように行います。
順序番号の確認
被災していないシステムで順序番号の確認を行います。
スケーラブルログ運用でない場合
スケーラブルログ運用の場合に、初期化対象のRLPがシステムロググループに作成されているとき
順序番号の確認は、rdbexecsqlコマンドで確認します。
例)スキーマ名がSTOCKS、順序名が順序1の順序番号を確認する例
SQL>SELECT STOCKS.順序1.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE <<1>> 1:+000000000000500000. Number of records:1 SQLSTATE:00000 SQLMSG:JYP2001I 正常に終了しました.
順序定義の再作成
被災していないシステムで取得した順序番号を元に、rdbddlexコマンドで被災したシステムの順序定義を削除して再定義します。
被災したシステムで定義する順序は、以下の算出式により求めた値を順序定義の初期値として利用します。
【算出式】
順序定義にCACHE指定がない場合
順序番号の初期値 = 被災していないシステムの順序番号
順序定義にCACHE指定がある場合
順序番号の初期値= [(被災していないシステムの順序番号 +(増分間隔 ×割当順序数))
÷(増分間隔 × 割当順序数)]
×(増分間隔 × 割当順序数)
+ 複写元システムの初期値
[]内の除算で発生した小数値は切り捨て
例)
定義時に利用する順序定義文の例
以下の場合に、被災したシステムで定義する順序定義文の例を示します。
被災していないシステムの順序番号を取得した結果:5
増分間隔:1
割当順序数:10
被災していないシステムの初期値:1
-- 削除文 DROP SEQUENCE SI.順序1; --定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 1 START WITH 11 ・・・ 初期値に補正した順序番号を設定 CACHE 10;
Linkexpressの復旧
Linkexpressの環境を、被災前の状態に復旧または再構築します。
Linkexpressのセットアップについては、“6.1.2 Linkexpressのセットアップ”を参照してください。
RLP環境、BC管理DB、DRレプリケーション業務の削除
両システムに残存するRLPに関する資源とBC管理DBに関する資源をすべて削除します。
なお、RLMとRLCファイルの削除は、RLP管理オブジェクトとBC管理スキーマを削除した後に行ってください。
複写先システムでは、DRレプリケーション業務(センター切替え用も含みます)も削除します。
削除対象資源 | 複写元システム | 複写先システム |
---|---|---|
RLP管理オブジェクト | lxrepdrdrp -p RLP名 -m rlpobj -k capture (注1) | lxrepdrdrp -p RLP名 -m rlpobj -k reflect (注1) |
BC管理スキーマ | lxrepdrdrp -m mndb -k capture (注1) | lxrepdrdrp -m mndb -k reflect (注1) |
RLM、RLCファイル | lxrepdrdrp -p RLP名 -m rlp -k capture (注2) | lxrepdrdrp -p RLP名 -m rlp -k reflect (注2) |
RLC退避ファイル | OSのコマンド(例:rmコマンド) | OSのコマンド(例:rmコマンド) |
BCログ管理ファイル | OSのコマンド(例:rmコマンド) | OSのコマンド(例:rmコマンド) |
RERUNログ引継ぎファイル | - | (注3) |
RERUNログ抽出ファイル | - | - |
RERUNログ抽出作業域ファイル | - | - |
DRレプリケーション業務 | - | lxrepdrrep -p RLP名 -a drpwrk -k reflect (注4) |
DRレプリケーション業務(センター切替え用) | - | lxrepdrrep -p RLP名 -a drpwrk -k capture -R (注4) |
注1) Symfoware/RDBが起動している必要があります。
注2) Symfoware/RDBが停止している必要があります。
注3) RLP管理オブジェクトの削除の際、RERUNログ引継ぎファイルも削除されます。
注4) Linkexpressが起動している必要があります。
DRレプリケーション環境の再構築
DRレプリケーション環境を再構築します。再構築方法は新規構築の場合と同じです。
DRレプリケーションのセットアップについては、“6.1.3 Linkexpress Replication optionのセットアップ”を参照してください。
ポイント
被災したシステムを新調し、新規に環境を構築する場合は、被災していないシステムのDRレプリケーション資源を事前に削除する必要があります。前記の手順のうち、以下の複写先システムの手順で削除を行います。
4.RLP環境、BC管理DB、DRレプリケーション業務の削除