スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
20.1.5 同一ログの再使用チェック
データベース回復ユティリティで,同時にバックアップファイルを指定しないで,アンロードログファイルだけを使用してデータベースを回復する場合,一度使用したログは再使用できません。データベース回復ユティリティの入力情報になったことがあるログを使用して回復すると,データベースが破壊されたり,データ不整合が発生したりするおそれがあります。
これを防ぐために,HiRDBではデータベースの回復で使用するログをチェックしています。これを同一ログの再使用チェックといいます。チェックで,以前回復に使用したログ又は以前回復に使用したログより古いログの指定を検知すると,HiRDBは該当するサーバの回復処理を中断し,データベース回復ユティリティはエラー終了します。このとき,該当するサーバ以外のサーバのRDエリアの回復処理は続行されます。なお,pdrstrコマンドに-b又は-gオプションを指定して実行した場合,HiRDBは同一ログの再使用チェックは行いません。
- <この項の構成>
- (1) 回復処理が中断された場合
同一ログの再使用チェックで回復処理が中断された場合,KFPR26288-Eメッセージが出力されます。このメッセージに回復処理を中断されたサーバが表示されるため,そのサーバのRDエリアの回復をやり直してください。ただし,次のような場合は,データベースが更新されていないため,やり直す必要はありません。
- 同じコマンドライン及び同じ制御文ファイルのpdrstrコマンドを,誤って複数回実行してしまい,チェック結果がエラーになった
RDエリアの回復をやり直す場合の回復手順を次に示します。
- 〈手順〉
- pdrstrコマンド又はほかの製品のリストア機能で,KFPR26288-Eメッセージで表示されたサーバのRDエリアをバックアップから回復します。
- 1.で使用したバックアップファイル取得以降のアンロードログファイルを指定して,pdrstrコマンドで回復対象のRDエリアを回復します。
- 参考
- 同一ログを使用して回復した場合にデータ不整合が発生する理由
- アンロードログファイルだけを使用してデータベースを回復する場合,同一ログを使用して回復するとどのように処理されるかについて,例を使用して説明します。
- この例では,ほかの製品のバックアップ機能を使用してバックアップを取得しているとします。
- 1回目の障害のとき
- ほかの製品で取得したバックアップファイル1でバックアップ取得時点まで回復しました。その後,アンロードログファイル1及び2を指定して,pdrstrコマンドで障害発生直前の状態まで回復しました。
- このとき,ロールフォワードで最新の状態まで回復し,未決着トランザクションのログでロールバックします。
- 2回目の障害のとき
- ほかの製品で取得したバックアップファイル2で2回目のバックアップ取得時点まで回復しました。その後,アンロードログファイル1〜4を指定してpdrstrコマンドで障害発生直前の状態まで回復しました。
- このとき,まずロールフォワードで最新の状態まで回復しますが,1回目の障害回復時にアンロードログファイル2まで使用してロールフォワードしているため,そこまでの処理をスキップします。その後,未決着トランザクションのログでロールバックしますが,アンロードログファイル2にも未決着トランザクションのログがあるため,アンロードログファイル2のトランザクションもロールバックします(ロールバックはスキップしません)。このため,データ不整合になります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.