20.7.1 障害発生時の対処方法
シンクポイントダンプファイルに障害が発生したときの対処方法を次の表に示します。
障害発生時の条件 |
HiRDBの処理 |
HiRDB管理者の処置 |
|
---|---|---|---|
書 き込み時 |
上書きできる状態のファイルがある場合 |
障害が発生したシンクポイントダンプファイルの状態を予約とし,上書きできる状態のファイルの1つをシンクポイントダンプの出力先にして処理を続行します。 ●シンクポイントダンプファイルを二重化している場合 A系ファイルとB系ファイルのどちらか片方に障害が発生しても,正常な系だけで処理を続行します。両方に障害が発生した場合は,障害が発生したシンクポイントダンプファイルの状態を予約とし,上書きできる状態のファイルの1つをシンクポイントダンプの出力先にして処理を続行します。 |
障害が発生したシンクポイントダンプファイルを(1)に示す方法で上書きできる状態にしてください。 |
上書きできる状態のファイルがない場合 |
障害が発生したシンクポイントダンプファイルがあるユニットを異常終了します。 |
|
|
読み込み時 |
最新世代のファイルを読み込めない場合は,1世代前のファイルを読み込みます。1世代前のファイルも読み込めない場合は,もう1世代前のファイルを読み込みます。このように,ファイルを読み込めない場合は世代をさかのぼっていきます。ただし,有効保証世代数を超えてさかのぼると,システムの回復に必要なシステムログが上書きされていることがあるため,システムを回復できないことがあります。 ●シンクポイントダンプファイルを二重化している場合 A系ファイルを読み込めない場合はB系ファイルを読み込みます。B系ファイルも読み込めない場合は,1世代前のA系ファイルを読み込みます。 |
障害が発生したシンクポイントダンプファイルを(1)に示す方法で上書きできる状態にしてください。 |
- 〈この項の構成〉
(1) 障害が発生したファイルを上書きできる状態にする手順
- 〈手順〉
-
-
pdloglsコマンドで,障害が発生して予約となったシンクポイントダンプファイルを確認します。
pdlogls -d spd -s b001
-
障害が発生したファイルが予約になっていない場合,そのファイルをpdlogclsコマンドで予約にします。
pdlogcls -d spd -s b001 -g spdfile1
-
pdlogrmコマンドで予約ファイルを削除します。
pdlogrm -d spd -s b001 -f C:¥sysfile¥sync01
-
pdloginitコマンドで,3で削除したシンクポイントダンプファイルを再作成します。
pdloginit -d spd -s b001 -f C:¥sysfile¥sync01 -n 5000
-
pdlogopenコマンドで,4で再作成したシンクポイントダンプファイルを上書きできる状態にしてください。
pdlogopen -d spd -s b001 -g spdfile1
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
(2) シンクポイントダンプファイルに対応するシステムログファイルが上書きされているためHiRDBを再開始できないときの対処方法
シンクポイントダンプファイルに障害が発生すると,HiRDBはシンクポイントダンプファイルの世代をさかのぼってシステムの状態を回復しようとします。このとき,シンクポイントダンプファイルに対応するシステムログファイル(システムを回復するために必要な情報を持つシステムログファイル)が上書きされていると,HiRDBを再開始できません。この場合,pdstart dbdestroyコマンドでHiRDBを強制開始してください。
このとき,HiRDBは前回稼働時の情報を引き継ぎません。したがって,HiRDB管理者がデータベースの内容を回復する必要があります。データベースの内容を回復するには,バックアップ及びシステムログ(アンロードログ)を入力情報として,データベース回復ユティリティを実行します。データベースの回復方法については,「データベースの回復方法」を参照してください。
なお,HiRDBを強制開始する前に,「HiRDB(ユニット)を強制開始するときの注意事項」を参照してください。
- 注意事項
-
-
データベースの内容を回復するまでは,そのデータベースをアクセスできない状態(RDエリアをpdhold -cコマンドで閉塞かつクローズ状態)にしておいてください。
-
HiRDBを強制開始すると,前回のHiRDB開始後に更新したすべてのRDエリア(システム用RDエリアも含みます)が破壊されます。したがって,強制開始をする場合は,破壊されたRDエリアをデータベース回復ユティリティで回復する必要があります。RDエリアを回復しないと,その後のHiRDBの動作を保証できません。
-
RDエリアはシステムログだけで回復できます。前回のpdstartコマンドが失敗したときに出力されたKFPS01262-Iメッセージを参照し,メッセージに表示されているログ読み込み開始のファイルグループ名,及びそれ以降に発生したシステムログをデータベース回復ユティリティの入力情報にしてください。
-
(3) シンクポイントダンプファイルの数が不足しているためHiRDBを再開始できないときの対処方法
シンクポイントダンプファイルの数が有効保証世代数以下となると,HiRDBを再開始できません。この場合,次に示すどちらかの対処をして,HiRDBを再開始してください。
-
障害が発生したシンクポイントダンプファイルを再作成してください。
-
pdlogadfg -d spdオペランドにONL指定をしていないシンクポイントダンプファイルがあれば,ONLを指定してください。
なお,あらかじめ,次に示すオペランドを指定しておくとHiRDBが停止している時間を短縮できます。
-
pd_spd_reduce_mode=1又は2
-
pd_spd_reserved_file_auto_open=Y