20.22 ローカルバッファを使用して共用表を更新した場合に障害が発生したときの対処方法(HiRDB/パラレルサーバ限定)
実行者 HiRDB管理者
ローカルバッファを使用して共用表を更新する場合は,LOCK TABLEを使用してください。次に示す条件をすべて満たす場合にサーバプロセスが異常終了すると,アボートコードPhb3008が出力されて,ユニットが異常終了することがあります。
-
ローカルバッファを使用している
-
LOCK TABLEを使用しないで共用表を更新している
これらの条件をすべて満たす場合,サーバプロセスの異常終了時に更新ページがあると,トランザクション回復プロセスで回復処理ができないことがあります。その場合,ユニットの再開始時に回復処理を行います。ローカルバッファを使用して共用表を更新(LOCK TABLE指定なし)する場合に障害が発生したときのHiRDBの処理と対処方法を次の表に示します。
サーバプロセスの異常終了要因 |
サーバプロセスの異常終了時に更新ページがある場合のHiRDBの処理 |
HiRDB管理者の処置 |
|
---|---|---|---|
PDSWAITTIMEオーバ |
アボートコードPhb3008が出力されて,ユニットが異常終了することがあります。 |
ユニットが異常終了した場合は,ユニットを再開始してください。 |
|
PDCWAITTIMEオーバ |
|||
pdcancelコマンドの実行 |
|||
アボート |
HiRDBの矛盾検知によるアボートなどが該当します。 |
||
上記以外 |
SIGSEGV,SIGBUS,外部からのシグナル受信,exit,そのほかの予期しない障害などが該当します。 |
- 注
-
PDSWATCHTIMEオーバによるサーバプロセスの異常終了時に更新ページがあってもHiRDBは異常終了しません。