付録F.3 HiRDBが異常終了する事例
次のメッセージが出力され,HiRDBが異常終了しました。
-
KFPS01220-E(ログファイル不足)
- よくある原因
-
-
大規模な表の再編成でログを大量に出力したため,ログファイルが不足しました。
-
更新可能なオンライン再編成を実行したことでログファイルが「更新可能なオンライン再編成の上書き禁止状態」となりましたが,スワップ先のシステムログファイルがなかったため,ログファイル不足になりました。
-
対処方法は次の二つがあります。
- 対処方法1
-
必要なログファイルを追加します。
- 対処手順
-
必要なログファイルの追加手順は,表「システムログファイルに関連する障害の対策方法」を参照してください。
- 対処方法2(業務を再開させるための非常手段)
-
ログファイルを追加できない場合で,業務を再開しなければならないときは,システムのステータスファイルを初期化してオンライン再編成状態を解除します。ただし,オリジナルRDエリアのデータ回復が必要になります。この対処方法を取る場合は,システム管理者に連絡してください。
対処手順
手順 |
操作 |
確認方法 |
|
---|---|---|---|
1 |
システムログをアンロードします。 |
pdlogunldコマンドを実行します。 |
マニュアル「HiRDB コマンドリファレンス」の「システム単位の回復をする場合」を参照してください。 |
2 |
ユニットとサーバのステータスファイルをすべて初期化(再作成)します。 |
pdstsinitコマンドを実行します。 |
|
3 |
HiRDBを回復モードで開始します。 |
pdstart -rコマンドを実行します。 |
|
4 |
バックアップと手順1で取得したアンロードログを使用してマスタディレクトリ用RDエリアを回復します。 |
pdrstrコマンドでマスタディレクトリ用RDエリアの回復を実行します。 |
|
5 |
HiRDBを正常終了します。 |
pdstopコマンドを実行します。 |
|
6 |
HiRDBを正常開始します。 |
pdstartコマンドを実行します。 |
|
7 |
マスタディレクトリ用RDエリア以外のRDエリアを,コマンド閉塞かつクローズ状態にします。 |
pdhold -r ALL -cコマンドを実行します。 |
|
8 |
バックアップと手順1で取得したアンロードログを使用して,マスタディレクトリ用RDエリア以外のRDエリアを回復します。 バックアップとアンロードログでRDエリアを回復しない場合,手順10に進んでください。 |
pdrstr -q 0 -x cコマンドを実行します。 参考 通常,RDエリア更新ログは更新したRDエリアに適用しますが,pdrstrの-xオプションに「c(カレント)」を指定すると,カレント状態のRDエリア(レプリカRDエリア)の更新で取得されたログを適用してオリジナルRDエリアを回復できます。 |
|
9 |
オンライン再編成の対象外のRDエリアの閉塞を解除します。 |
「pdrels -r RDエリア名-o」コマンドを実行します。 |
次のメッセージを確認します。
|
10 |
手順8,9でオリジナルRDエリアを回復しない場合,レプリカRDエリアのデータをオリジナルRDエリアにコピーします。 |
データのコピー方法は任意ですが,次のような方法があります。
コマンドによって実行できるRDエリアの状態が異なります。実行できるRDエリアの状態については,マニュアル「HiRDB コマンドリファレンス」の「RDエリアの状態によるユティリティ及びUAPの実行可否」を参照してください。 pdrorgコマンド,pdloadコマンド,またはUAPでデータをアンロード,リロードする場合,オリジナルRDエリアとレプリカRDエリアをオープン状態にする必要があるため,データをアンロードする前に「pdopen -r RDエリア」コマンドを実行します。ただし,更新業務の実行は抑止する必要があるため,閉塞状態はそのままにしてください。 |
− |
11 |
カレントRDエリアをオリジナルRDエリアに戻します。 |
「pddbchg -q 0 -r オリジナルRDエリア名」コマンドを実行します。 |
次のメッセージを確認します。
その後,pddblsコマンドを実行して,次の表示結果を確認します。
|
12 |
オリジナルRDエリアのコマンド閉塞を解除します。 |
「pdrels -r オリジナルRDエリア名 -o」コマンドを実行します。 |
次のメッセージを確認します。
|
13 |
手順10でレプリカRDエリアをオープンしている場合は,クローズします。 |
「pdclose -r レプリカRDエリア」コマンドを実行します。 |
次のメッセージを確認します。
|
14 |
追い付き状態管理表を初期化するため,いったん削除します。 |
pdorcreate -dコマンドを実行します。 |
次のメッセージを確認します。
|
15 |
追い付き状態管理表を再作成します。 |
pdorcreateコマンドを実行します。 |
次のメッセージを確認します。
|
16 |
システムのバックアップを取得します。 |
マニュアル「HiRDB システム運用ガイド」の「バックアップ取得」を参照してください。 |
− |
17 |
HiRDBを正常終了します。 |
pdstopコマンドを実行します。 |
− |
18 |
HiRDBを開始します(業務を受け付けます)。 |
pdstartコマンドを実行します。 |
− |
19 |
データディクショナリLOB用RDエリアおよびリスト用RDエリアの回復を行います。 |
pdmodコマンドの「initialize rdarea データディクショナリLOB用RDエリア;」文および「initialize rdarea リスト用RDエリア;」文を実行します。 |
マニュアル「HiRDB コマンドリファレンス」の「データベース構成変更ユティリティ(pdmod)」を参照してください。 |