TPBrokerのシステムに障害が発生した場合,前回のオンラインの状態を引き継いで,履歴情報を基にTPBrokerシステムを障害発生直前の状態に回復できます。この開始モードを再開始モードといいます。
TPBrokerは再開始時に全面回復処理を実行します。全面回復処理はシステム回復処理,トランザクション回復処理の順で実行されます。
環境変数TPFSに設定されたディレクトリ下に作成されたステータスファイルにはシステム制御情報が格納されています。まず,システム制御情報を基に,トランザクションの同期点処理と関係のないシステムの状態を回復します。この時点で,TPBrokerはトランザクションサービスを再開します。
新たなトランザクションサービス処理と並行して,システム障害でTPBrokerが停止したときに実行中だったアプリケーションプログラムのトランザクション処理を回復して,ロールバックまたはコミットします。トランザクションをロールバックするのかコミットするのかは,トランザクション処理がどこまで進んでいたかで決まります。トランザクション処理が,2相コミットのうちの1相目の完了前までの場合には,グローバルトランザクションをロールバックします。2相コミットのうちの1相目が完了していた場合には,ルートトランザクションブランチでの決定に従ってグローバルトランザクションをロールバック,またはコミットします。