バックアップセンタ運用開始後に、複写元システムでSymfoware Serverのrdbfmtコマンドが実行されると、RERUNログ反映処理により複写先システムでDSIの初期化処理が行われます。
DSIの初期化の操作について以下のとおり説明します。
注意
複写先システムのDSIの初期化の反映処理において、RDBREPORTにqdg03400uのメッセージが出力される場合があります。これは複写先システムの反映処理が多重で実行されたためです。その場合、qdg03400uのメッセージ内のDSI名を確認し、それに対応するqdg20748iのメッセージがRDBREPORTに出力されていれば、初期化処理は正常に動作しています。
ポイント
複写元システムでrdbfmtコマンドにcオプション(拡張域返却)を指定して実行した場合も、複写先システムで同じ動作が実行されます。
複写先システムのDSIの初期化処理は、複写元システムでのDSIの初期化処理と同じDSI単位で行われます。
表のDSI定義やインデックスのDSI定義を行った直後にDSIの初期化を実施する場合は、DSIの割付け量に依存した処理時間が必要となるため、定義操作を行った後に続けて両システムで Symfoware Serverのrdbfmtコマンドを実行してください。
DSIの初期化中の複写先システムの参照系業務
複写元システムでSymfoware Serverのrdbfmtコマンドを実行した場合には、rdbfmtコマンドが行われた時点のRLCファイルを反映するまでに、参照業務のトランザクションを終了してください。以下に運用手順を示します。
RLCファイルを強制交替します。
$ rdbbcswh -p RLP名
RLCファイル交替のメッセージを確認します。
rdb: INFO: qdg20150i:RLCを交替しました RLC通番='RLC通番' RLP名='RLP名'
DSIの初期化を行います。
RLCファイルを強制交替します。
$ rdbbcswh -p RLP名
RLCファイル交替のメッセージを確認します。
rdb: INFO: qdg20150i:RLCを交替しました RLC通番='RLC通番' RLP名='RLP名'
参照業務を開始します。
RLCファイル交替のメッセージを確認します。
rdb: INFO: qdg20151i:複写元システムでRLCが交替しました RLC通番='RLC通番' RLP名='RLP名'
rdbbcextコマンドおよびrdbbcrefコマンドを実行して、DSIの初期化を行う前のRLCファイルまでRERUNログを抽出・反映します。
参照業務のトランザクションを終了します。
RLCファイル交替のメッセージを確認します。
rdb: INFO: qdg20151i:複写元システムでRLCが交替しました RLC通番='RLC通番' RLP名='RLP名'
rdbbcextコマンドおよびrdbbcrefコマンドを実行して、DSIの初期化が行われた時点のRLCファイルまでRERUNログを抽出・反映します。
RDBREPORTのメッセージにより、DSIの初期化の開始時および完了を確認します。
rdb: INFO: qdg20747i:RERUNログ反映によるDSIの初期化を開始します DSI名='DB名.DSI名' RLP名='RLP名'
rdb: INFO: qdg20748i:RERUNログ反映によるDSIの初期化が完了しました DSI名='DB名.DSI名' RLP名='RLP名'
RERUNログの抽出・反映処理を開始します。
複写先システムに接続している参照業務を再開します。
注意
複写先システムでDSIの初期化実行中に、アプリケーションが当該DSIにアクセスした場合は、SQL文が異常終了します。DSIの初期化処理が完了したことを確認してから、アプリケーションの再実行を行ってください。
アプリケーションが参照中に、複写先システムでDSIの初期化処理が行われるとRERUNログ反映処理が異常終了します。その場合には、アプリケーションのトランザクションが終了していることを確認した後に、rdbbcrefコマンドを再実行してRERUNログ反映処理を行ってください。
DSIの初期化処理中の複写先システムでのデータベース操作
複写先システムにてDSIの初期化処理中の場合は、DSIの初期化処理と同時実行できないデータベース操作は行わないでください。
注意
DSIの初期化処理と同時実行できないデータベース操作の実行中に、複写先システムでDSIの初期化処理が行われるとRERUNログ反映処理が異常終了します。その場合には、その場合は“5.10 複写先システムのRERUNログ反映の異常”を参照して、リカバリを行ってください。
参照
DSIの初期化処理と同時実行できないデータベース操作については、“運用ガイド(データベース定義編)”の“アプリケーションおよびRDBコマンド間の排他”を参照して、Symfoware Serverのrdbfmtコマンドと同時実行できない操作をDSIの初期化と同時実行できない操作に置き換えて確認して下さい。
DSIの初期化の誤操作からのリカバリ
複写元システムでのSymfoware Serverのrdbfmtコマンドの実行により、データベースのデータを誤って大量に消去してしまった場合、複写元システムおよび複写先システムのデータベースを、両システムの同期が取れた直前の状態にリカバリすることができます。
誤操作の資源を特定します。
データベース内のデータの内容を確認し、誤操作を行った資源(表のDSI)を特定します。
誤操作時点のリカバリポイントを特定します。
RDBREPORTで指定したメッセージログファイルの中から、qdg14119iのメッセージを探してください。出力されているメッセージから、誤操作を行った資源(表のDSI)に一致するリカバリポイントを確認します。
以下の手順で、誤操作の直前までデータをリカバリします。
誤操作を行った表のDSIに関連するすべてのインデックスのDSIをSymfoware Serverのrdbfmtコマンドにより初期化します。
rdbbcswhコマンドを実行して、RLCファイルを強制交替します。
誤操作を行った時点のリカバリポイントをリカバリ終了点に指定してSymfoware Serverのrdbrcvコマンドを実行します。
業務再開に向けてデータベースのバックアップを行います。
利用者業務を再開します。
複写先システムの手順2.が完了してから、停止している利用者業務を開始します。
誤操作時点のリカバリポイントを特定します。
RDBREPORTで指定したメッセージログファイルの中から、複写元システムの手順2.で確認したリカバリポイントについてqdg20176iのメッセージが出力されていることを確認できるまで、rdbbcextコマンドおよびrdbbcrefコマンドを実行し、RERUNログの抽出と反映を行ってください。
以下の手順で、RERUNログ反映を停止します。
RDBREPORTで指定したメッセージログファイルの中から、qdg20748iのメッセージを探してください。出力されているメッセージから、複写元システムの手順a.に対するRERUNログ反映によるDSIの初期化が行われたことを確認できるまで、rdbbcextコマンドおよびrdbbcrefコマンドを実行し、RERUNログの抽出と反映を行います。
RERUNログの反映を停止します。
誤操作の直前までデータをリカバリします。
手順1.で確認したリカバリポイントをリカバリ終了点に指定してSymfoware Serverのrdbrcvコマンドを実行します。
RERUNログ反映の再開に向けてデータベースのバックアップを行います。
rdbbcrefコマンドを実行し、RERUNログの反映を開始します。
注意
Active DB Guardを使用した運用を実施している場合は、Symfoware ServerのrdbfmtコマンドによりインデックスのDSIをリカバリ可能な状態にしてから、Symfoware Serverのrdbrcvコマンドにより表のDSIと関連するすべてのインデックスのDSIを同時にリカバリします。
Symfoware Serverのrdbsloaderコマンドのxオプション(インデックスのDSIの創成)を実行したインデックスのDSIのリカバリは実施しないでください。
誤って、関連するすべてのインデックスのDSIをSymfoware Serverのrdbfmtコマンドにより初期化せずに、Symfoware Serverのrdbrcvコマンドによりリカバリした場合には、インデックスのDSIがリカバリ対象になりません。再度、表のDSIからrdbfmtコマンドを実行して初期化し、rdbrcvコマンドによりリカバリしてください。その際、リカバリポイントを変更しないでください。
参照
Symfoware serverのrdbfmtコマンドおよびrdbrcvコマンド、 rdbsloaderコマンドの詳細については“コマンドリファレンス”を参照してください。