順序番号のリカバリの必要性は、被災時のセンタ切り替え前に、RLP動作環境ファイルのTRAN_ASYNCパラメタに指定したモードにより判断してください。以下にモード別の対処を示します。
同期書込みモードの場合
複写元システムで生成した順序番号の更新RERUNログが、複写先システムに到達しているため、被災時点の最新の順序番号が保証されます。このため、リカバリの必要はありません。
非同期書込みモードの場合
複写元システムで生成した順序番号の更新RERUNログが、複写先システムに到達していない場合があるため、被災時点では、最新の順序番号が保証されません。このため、順序番号の状況を評価する必要があります。方法はRERUNログの抽出・反映処理およびRLPの終了オフラインを行った後で、データベース内で利用している使用済みの順序番号などと順序番号の状況を比較します。
順序のリカバリでは以下の操作を行います。
順序番号の確認
使用済み順序番号の確認
順序番号の照合
順序番号の補正
ポイント
順序の更新結果はRDBディクショナリのRERUNログとして取得するため、スケーラブルログ運用の場合のリカバリ作業は、RDBディクショナリを配置しているシステムロググループのRLPに対して実施します。
複写先システム
複写先システムで順序番号を確認します。順序番号の確認は、Symfoware Serverのrdbexecsqlコマンドにより順序番号を生成することで確認します。
参照
順序番号の確認は“4.7.2.1 順序番号の確認”を参照してください。
Symfoware Serverのrdbexecsqlコマンドの指定方法の詳細については、Symfoware Serverの“SQLTOOLユーザーズガイド”および“Symfoware Serverコマンドリファレンス”を参照してください。
複写先システム
利用者業務で使用済みの順序番号を確認します。
取得方法は、順序を利用している利用者業務によって異なりますが、例えば、バックアップ運用の対象となっている実表の1つの項目に順序番号を利用している場合、すべての行の中で最も先行した順序番号を確認し、その次の番号を最新の順序番号として求めます。
複写先システム
複写先システムの順序番号と利用者業務で使用済みの順序番号を比較し、利用者業務で使用済みの順序番号が小さい場合は、補正する必要はありません。
複写先システム
利用者業務で使用済みの順序番号が大きい場合は、順序定義の初期値に利用者業務で使用済みの順序番号より大きい(増分値が負の数の場合は小さい)値を設定して、再定義することで補正します。
参照
順序番号の生成、順序番号の再定義の詳細については“4.7.2.2 順序の再作成”を参照してください。
複写先システムの順序番号を確認した結果が498000、利用者業務で使用済みの順序番号が498432の場合の、再定義する定義文の例を以下に示します。
再定義する定義文の例
-- 削除文 DROP SEQUENCE S1.順序1; -- 定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 500 START WITH 498500 (注) MAXVALUE 1000000;
注)初期値に補正した順序番号を設定
注意
初期値以外の指定については、複写元システムで定義した定義文を修正して利用してください。