処理中のアクティブなトランザクションを持つアプリケーション ・サーバー・インスタンスが、失敗後に再始動する場合、トランザクション・ サービスはリカバリー・ログを使用してリカバリー処理を完了します。 これらのログはそれぞれのトランザクション・リソースによって維持され、 未確定のトランザクションを再実行し、自己整合性のある状態にシステム全体を 戻すために使用されます。
製品の前のバージョンからマイグレーションを行う場合は、コントローラーの JCL プロシージャー・ステートメントで使用されている ENV パラメーターに、REC=N または REC=Y エレメントが含まれていることを確認してください。 ENV パラメーターに REC=N または REC=Y エレメントが含まれていない場合、-recovery オプションを指定しても、サーバーはリカバリー・モードで再始動しません。
ENV パラメーターに REC=N エレメントが含まれている場合、サーバーを再始動するときに -recovery を指定すると、設定が自動的に REC=Y に変更されます。 製品の以前のバージョンからマイグレーションを行わなかった場合、REC=N エレメントは ENV パラメーターに自動的に組み込まれます。 更新された PROC ステートメントは、以下の例のようになります。
//BBO6ACR PROC ENV=,PARMS=' ',REC=N,Z=BBO6ACRZ
このリカバリー処理は、アプリケーション・サーバー内のすべての必要なサブシステムが使用可能になればすぐに開始されます。 アプリケーション・サーバーがリカバリー・モードで再始動しない場合は、サーバーの準備が整い次第、アプリケーション・サーバーは新規作業を受け入れ始めることができます。これは、リカバリー作業が完了する前に行われる場合があります。
通常、この処理は問題ではありません。ただし、操作手順には、リカバリー作業と新規作業を同時にサポートする互換性がない場合があります。 例えば、処理していた作業が、アプリケーション・サーバーの失敗後直ちに別のアプリケーション・サーバーに移動される高可用性環境がある場合があります。 このバックアップ・アプリケーション・サーバーは、障害が発生したアプリケーション・サーバーでリカバリーが完了し、2 つのアプリケーション・サーバーが再同期化されるまで、障害が発生したアプリケーション・サーバーからの作業を排他的に処理します。 この状態では、障害のあるアプリケーション・サーバーにそのトランザクション・リカバリー処理のみを実行させ、シャットダウンしたいというときがあります。 リカバリー処理が行われている間に、このアプリケーション・サーバーに新規作業の受け入れを開始してほしくない場合もあります。
トランザクション・リカバリー処理を行っているアプリケーション・サーバーに新規作業を割り当てないようにするには、 リカバリー・モードでアプリケーション・サーバーを再始動します。
障害が発生したアプリケーション・サーバーを再始動すると、 障害が発生したアプリケーション・サーバーがあるノードのノード・エージェントは、そのアプリケーション・サーバーを再始動する前に稼働している必要があります。
リカバリー・モードでアプリケーション・サーバーを再始動 できるようにするには、障害が発生する前に、以下のステップを実行して、 アプリケーション・サーバーを再始動し、構成変更を有効にする必要があります。
トランザクションのピア・リカバリーには、トランザクション・サービス・サブコンポーネント のための統合高可用性サポートを構成します。