次の方法で共有


トランザクションの復旧に影響するメインフレームの問題

場合によっては、TI はリモート環境で新しいトランザクションを処理できません。 これは正しい動作である可能性があります。 たとえば、TI 例外 1227 がクライアント アプリケーションに返されるか、イベントにログインし、HRESULT が 8004D110 の場合、通信エラーの後に以前のトランザクションが解決されなかったため、このリモート環境での新しいトランザクションを受け入れることができないことを示します。

2 フェーズ・コミット・プロセスが完了しない場合、CICS は、通信が再確立されるまで、トランザクションを In-Doubt 状態に保持する必要があります。 その後、TI は復旧プロトコルを実行して、トランザクションがすべてのノードで同じ状態であることを確認します。 これを行うには、CICS を正しく構成する必要があります。

CICS が予期せず終了し、その後コールド状態で再始動された場合、完了していないトランザクションのログにメモリーはありません。 そのため、これらのトランザクションを一貫性のある状態に自動的に復旧することはできません。 CICS を停止する前にすべてのトランザクションが完了したことを確認するか、保留中のトランザクションを復旧できるように、同じログを使用して CICS をウォーム再始動用に構成します。

CICS トランザクション・サーバーを使用すると、管理者はトランザクションの In-Doubt 属性に待機時間を指定できます。 ほとんどの場合、通信を再確立するのに十分な値を指定してください。 In-Doubt 状態に残されたすべてのトランザクションが復旧される前にこのタイムアウトが経過すると、CICS はそれらをローカルで解決することをヒューリスティックに決定します。 この決定が Microsoft DTC (分散トランザクション コーディネーター) によるトランザクションに対して行われた決定と競合する場合、以前のトランザクションの結果が手動でオーバーライドされるまで、新しいトランザクションを開始できません。

CICS トランザクション・サーバーより前の CICS バージョンでは、リカバリー属性に待機時間はありません。 待機値を In-Doubt 属性に割り当てても、リカバリーの試行時に CICS は TI によって要求された状態にトランザクションを配置しません。 これらのバージョンの CICS を使用している場合は、In-Doubt 属性をバックアウトまたはコミットに設定します。 結果として得られるヒューリスティックの決定が正しくなくなり、新しいトランザクションが開始されないようにする場合は、DTC を使用してトランザクションの結果をオーバーライドします。

トランザクションが正常に復旧されなかったことを示す SNA LU 6.2 Resync TP サービスからのメッセージがないか、Windows イベント ログを調べます。 推奨されるアクションに従います。 Microsoft Transaction Server の [トランザクション一覧] ウィンドウを使用して、保留中のトランザクションを表示します。 トランザクションを右クリックして、そのプロパティを表示します。 これを解決する際、CICS がヒューリスティックに選択するよう構成された状態に同意するか、CICS が予期せず終了してコールドスタートした場合は、バックアウト状態または中止状態に遷移させます。 ログ内のイベントは、CICS によって選択されたトランザクションと状態を識別します。

TCP/IP は ACID (アトミック、一貫性、分離、および永続的) トランザクションをサポートしていないため、これは TCP/IP には適用されません。

こちらもご覧ください

トランザクションを手動で解決する方法