20.6.1 現用ファイルに障害が発生したときの対処方法
- 〈この項の構成〉
(1) HiRDBの稼働中に障害が発生した場合
HiRDBの稼働中に現用ファイルに障害が発生した場合の対処方法を次の表に示します。
障害発生時の条件 |
HiRDBの処理 |
HiRDB管理者の処置 |
|
---|---|---|---|
書き込み時 |
スワップ先にできる状態のファイルがある場合 |
システムログファイルをスワップします。 障害が発生したシステムログファイルの状態を予約とし,スワップ先にできる状態のファイルの一つを現用にして,処理を続行します。 |
|
スワップ先にできる状態のファイルがない場合 |
障害が発生したファイルがあるユニットを異常終了します。 |
「システムログファイルの不足によってHiRDB(ユニット)が異常終了したときの対処方法」を参照してください。
|
|
読み込み時 |
システムログファイルを二重化している場合 |
正常な系のファイルに切り替えて,処理を続行します。 |
障害が発生した系のファイルを(3)に示す方法でスワップ先にできる状態にしてください。 |
システムログファイルを二重化していない場合 |
障害が発生したシステムログファイルの状態を予約とし,処理を中止します。 |
|
- 注※
-
アンロード状態のチェックを解除する運用をしている場合(pd_log_unload_check=Nを指定している場合)は,必要ない操作です。
(2) HiRDBの再開始処理中に障害が発生した場合
HiRDBの再開始処理中に現用ファイルに障害が発生した場合の対処方法を次の表に示します。
障害発生時の条件 |
HiRDBの処理 |
HiRDB管理者の処置 |
---|---|---|
システムログファイルを二重化している場合 |
正常な系のファイルに切り替えて,再開始処理を続行します。 |
HiRDBの再開始後,障害が発生した系のファイルを(3)に示す方法でスワップ先にできる状態にしてください。 |
システムログファイルを二重化していない場合 |
障害が発生したシステムログファイルの状態を予約とし,障害が発生したシステムログファイルのユニットの再開始処理を終了します。 |
|
(3) 障害が発生したファイルをスワップ先にできる状態にする方法
- 〈手順〉
-
-
pdloglsコマンドで,障害発生のため予約となったシステムログファイルを確認します。
pdlogls -d sys -s b001
-
pdlogrmコマンドで予約ファイルを削除します。
pdlogrm -d sys -s b001 -f /sysfile/syslog1a
pdlogrm -d sys -s b001 -f /sysfile/syslog1b
-
pdloginitコマンドで,2で削除したシステムログファイルを再作成します。
pdloginit -d sys -s b001 -f /sysfile/syslog1a -n 5000
pdloginit -d sys -s b001 -f /sysfile/syslog1b -n 5000
-
pdlogopenコマンドで,3で再作成したシステムログファイルをスワップ先にできる状態にしてください。
pdlogopen -d sys -s b001 -g syslog01
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
(4) ディスク障害が発生したときの対処方法
ディスク障害が発生したときの対処方法を例題形式で説明します。
- 例題
-
ディスク障害が発生して現用ファイルの片系が障害状態になりました。スワップ先にできる状態のファイルがあるため,HiRDBはシステムログファイルのスワップ処理を実施して稼働中のままです。
- 対処方法
-
このままオンラインを続行した場合,システムログファイルの全体容量に余裕がないと,システムログファイルの容量不足が起こり,ユニットが異常終了する可能性があります。したがって,早急にディスク交換をして〈手順1〉に示す方法で対処してください。
なお,ディスク交換がすぐにできない場合は,〈手順2〉に示す方法で対処してください。また,〈手順1〉又は〈手順2〉の方法をすぐにとれない場合は,〈手順3〉に示す方法で対処してください。
- 〈手順1〉ディスク交換がすぐにできる場合
-
-
pdstopコマンドでHiRDBを正常終了します。
-
ディスクを交換し,pdfmkfsコマンドでHiRDBファイルシステム領域を作成します。
-
pdloginitコマンドでシステムログファイルを作成します。
-
pdstartコマンドでHiRDBを正常開始します。
-
- 〈手順2〉ディスク交換がすぐにできない場合
-
-
pdstopコマンドでHiRDBを正常終了します。
-
空きのあるHiRDBファイルシステム領域に,pdloginitコマンドでシステムログファイルを作成します。
-
サーバ定義の次に示すオペランドを修正します。追加したシステムログファイルに対応するオペランドを追加します。
・pdlogadfg
・pdlogadpf
-
pdstartコマンドでHiRDBを正常開始します。
-
- 〈手順3〉手順1又は2の方法をすぐにとれない場合
-
-
pdstopコマンドでHiRDBを正常終了します。
-
障害が発生したシステムログファイルに対応しているサーバ定義で,pd_log_singleoperation=Y(システムログファイルの片系運転をすること)を指定します。
-
pdstartコマンドでHiRDBを正常開始します。
- 注意事項
-
〈手順3〉の方法をとった場合,システムログファイルの片系運転中にシステムログファイルに障害が発生すると,アンロードログ(システムログ)を使用したデータベースの回復ができなくなります。したがって,〈手順3〉の方法は一時的なものとし,早急に〈手順1〉又は〈手順2〉の方法をとるようにしてください。
-