20.17.1 ユニットの再開始手順(ユニットの再開始を最優先する場合)
対処手順の大きな流れは,アンロード待ち状態のシステムログファイルがあるかどうかを確認し,ある場合はアンロード待ち状態のシステムログファイルをアンロード済み状態にします。ない場合はシステムログファイルを追加します。対処手順のフローを次の図に示します。
注 図中の項番は,以降の説明の( )の番号と対応しています。
- 〈この項の構成〉
(1) システムログファイルの不足が発生したバックエンドサーバを確認する
syslogfile又はメッセージログファイルに出力されているKFPS01220-Eメッセージを参照して,システムログファイルの不足が発生したバックエンドサーバを確認してください。
(例)
KFPS01220-E Request to swap sys(bes1) log file unable to be executed because there is no standby log file group available.
下線部分にシステムログファイルの不足が発生したバックエンドサーバが表示されます。この例の場合,バックエンドサーバbes1でシステムログファイルの不足が発生しています。
(2) アンロード状態のチェックを解除する運用をしているか確認する
バックエンドサーバ(bes1)で,アンロード状態のチェックを解除する運用をしているか確認してください。pd_log_unload_checkオペランドにNを指定している場合は,アンロード状態のチェックを解除する運用をしています。
アンロード状態のチェックを解除する運用をしている場合は,システムログファイルを追加してからユニットを再開始する必要があります。次の手順には進まないで,「ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)」で説明している手順を実施してください。
アンロード状態のチェックを解除する運用をしていない場合は次の手順に進んでください。
(3) アンロード待ち状態のシステムログファイルがあるか確認する
pdloglsコマンドを実行して,アンロード待ち状態のシステムログファイルがあるかどうかを確認してください。pdloglsコマンドの-sオプションに(1)で確認したバックエンドサーバ名を指定します。
(例)
Status欄にアンロード待ち状態かどうかが表示されます。u又はaが表示されているシステムログファイルが,アンロード待ち状態のシステムログファイルです。この例の場合,log002〜log005がアンロード待ち状態です。
アンロード待ち状態のシステムログファイルがある場合は,次の手順に進んでください。
アンロード待ち状態のシステムログファイルがない場合は,システムログファイルを追加してからユニットを再開始する必要があります。次の手順には進まないで,「ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)」で説明している手順を実施してください。
(4) アンロード待ち状態のシステムログファイルをアンロード済み状態にする
自動ログアンロード機能を使用しているかどうかによって対処方法が異なります。pd_log_auto_unload_pathオペランドを指定している場合は,自動ログアンロード機能を使用しています。
-
自動ログアンロード機能を使用している場合
自動ログアンロード機能が停止したため,システムログファイルがアンロードされていない可能性があります。自動ログアンロード機能が停止した場合,KFPS01150-Eメッセージが出力されます。syslogfile又はメッセージログファイル中にKFPS01150-Eメッセージが出力されているかを確認してください。
KFPS01150-Eメッセージが出力されている場合は,KFPS01150-Eメッセージの対処方法に従ってください。また,「障害発生時の対策方法」も参照して対処してください。
- 参考
-
自動ログアンロード機能が異常終了した原因を対策し,ユニットを再開始すると,ユニットの再開始処理中に自動ログアンロード機能が動作し,アンロード待ち状態のシステムログファイルはすべてアンロードされます。
KFPS01150-Eメッセージが出力されていない場合(自動ログアンロード機能が停止していない場合)は,システムログファイルを追加してからユニットを再開始する必要があります。次の手順には進まないで,「ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)」で説明している手順を実施してください。
-
自動ログアンロード機能を使用していない場合
アンロード待ち状態のシステムログファイルをアンロード済み状態にしてください。手順については,「システムログファイルをアンロード済み状態に変更する方法」を参照してください。
アンロード待ち状態のシステムログファイルを一つもアンロード済み状態にできない場合は,システムログファイルを追加してからユニットを再開始する必要があります。次の手順には進まないで,「ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)」で説明している手順を実施してください。
(5) ユニットを再開始する
pdstartコマンドを実行してユニットを再開始します。
ユニットが再開始されると,トランザクションの受け付け可能状態になりますが,新規トランザクションの処理によって出力されるシステムログが原因で,システムログファイルの不足が再度発生するおそれがあります。そのため,(7)の作業が完了した後に業務を再開するようにしてください。
(6) シンクポイントダンプの有効化処理が完了したことを確認する
シンクポイントダンプの有効化処理が完了すると,KFPS02183-Iメッセージがsyslogfile又はメッセージログファイルに出力されます。
(例)
KFPS02183-I HRDB unt1 Syncpoint dump for bes1 has been acquired to file group spd001. log file information:log001, 7, 287. start time=12:45:00, end time=12:45:12
下線部分に表示されているサーバ名が,(1)で確認したサーバ名であることを確認してください。この例の場合,バックエンドサーバbes1でシンクポイントダンプの有効化処理が完了しています。
なお,システムログファイルの不足が発生したサーバのサーバ定義又はサーバ共通定義のpd_spd_assurance_msgオペランド(この例の場合,bes1のバックエンドサーバ定義が該当)にNを指定している場合,KFPS02183-Iメッセージが出力されません。この場合,pdloglsコマンドの実行結果を参照して,シンクポイントダンプの有効化処理が完了したことを確認してください。
(例)
-
ユニットの再開始直後に実行したpdloglsコマンドの実行結果
Status欄にdが表示されているシステムログファイルが,上書きできない状態のシステムログファイルです。この例の場合,log001,及びlog006が上書きできない状態です。
-
シンクポイントダンプの有効化処理の完了後に実行したpdloglsコマンドの実行結果
シンクポイントダンプの有効化処理が完了すると,システムログファイルの上書きできない状態が解除されます。Status欄の表示がdから−になります。この例の場合,log001,及びlog006のシステムログファイルの上書きできない状態が解除されています。
ユニットの再開始時に実行されるデータベースの回復処理でもシステムログが出力されます。システムログファイルをアンロード済み状態にするだけでは再開始に必要なシステムログファイル容量を用意できなかった場合は,シンクポイントダンプの有効化処理が完了する前に,ユニットが再度異常終了します。この場合,次の手順には進まないで,「ユニットの再開始手順(システムログファイルを追加してからユニットを再開始する場合)」で説明している手順を実施してください。
(7) 業務再開のための準備をする
業務を再開する前に次に示すことを実施してください。
-
スワップ先にできる状態のシステムログファイルが十分にあるか確認する
pdloglsコマンドを実行して,スワップ先にできる状態のシステムログファイルの数を確認してください。全体の3分の2以上の数があるか確認してください。数が不足している場合は,システムログファイルをアンロードするなどして,スワップ先にできる状態のシステムログファイルの数を増やしてください。
-
自動ログアンロード機能が動作しているか確認する
自動ログアンロード機能を使用している場合は,pdlogatul -d sys -iコマンドコマンドを実行して,自動ログアンロード機能が動作しているか確認してください。
自動ログアンロード機能が停止している場合は,ユニットの再開始後に出力されたKFPS01150-Eメッセージを確認し,メッセージの対処に従ってください。その後,pdlogatul -d sys -bコマンドを実行して,自動ログアンロード機能を再開してください。
-
バックアップ情報及びログポイント情報を取得する
アンロードレスシステムログ運用をしている場合は,pdcopyコマンドでサーバ内の全RDエリアのバックアップを取得してください。このとき,-zオプションを指定してログポイント情報ファイルを取得してください。
バックアップを取得した後,pdlogchg -zコマンドを実行して,システムログファイルの状態をアンロード済み状態にしてください。
システムログファイルの不足を解消した後は,「システムログファイルの不足を解消した後に実施すること」の対処を行ってください。