11.1.2 プロセスの回復
TP1/EEがプロセスダウンした場合は,ステータスファイルの情報を基にプロセスを回復します。仕掛り中のすべてのトランザクションは,プロセスダウン時点のトランザクションの情報を基に回復します。
プロセスの回復には,ディレード回復とアンディレード回復の2種類の処理があります。プロセスの回復の種類は,トランザクション関連定義のtrn_delayed_allrecoverオペランドで指定できます。
(1) ディレード回復
ディレード回復は,すべての未決着トランザクションについて,回復スレッドに回復処理要求をします。ただし,回復スレッドのトランザクションの決着処理の完了を待たないでオンラインの開始処理をします。このため,初期化トランザクションの起動以降に,前回のオンライン時のトランザクションが決着することがあります。
(2) アンディレード回復
アンディレード回復は,すべての未決着トランザクションについて,回復スレッドに回復処理要求をします。回復スレッドがすべてのトランザクションの決着処理を完了するのを待ってオンラインの開始処理をします。そのため,初期化トランザクションの起動時には,前回のオンライン時のトランザクションはすべて決着しています。
アンディレード回復は,すべてのトランザクションの決着を待ってからオンラインの開始処理をします。回復処理中のトランザクションの件数は,一定時間ごとに表示されます。回復処理中にほかのプロセスとの通信障害またはリソースマネジャの障害が発生すると,回復処理中のトランザクションの決着に時間が掛かることがあります。トランザクションの回復処理を続行するかどうかはユーザが決定します。回復処理を中断させる場合は,eesvstopコマンドを実行してTP1/EEを強制停止してください。この場合は,次回のTP1/EE起動時にプロセスを回復するかどうかを決定する必要があります。
アンディレード回復を実行する場合,トランザクション関連定義のtrn_undelayed_recover_threadオペランドにYを指定すると,回復スレッドと処理スレッドの両方を使用してプロセスを回復させることができます。回復スレッドだけではなく処理スレッドも使用することによって,アンディレード回復処理に掛かる時間を短縮できます。