• 検索結果がありません。

コミット処理での役割

ドキュメント内 rzakj.ps (ページ 37-40)

トランザクションのコミットに複数のリソース・マネージャーが含まれている場合、各リソース・マネージ ャーはトランザクションでそれぞれの役割を果たします。リソース・マネージャーの役割は、トランザクシ ョン時に加えられた変更のコミットまたはロールバックです。

リソース・タイプ別のリソース・マネージャーは以下のとおりです。

FILE データベース・マネージャー DDM データベース・マネージャー DDL データベース・マネージャー DRDA 通信トランザクション・プログラム LU62 通信トランザクション・プログラム API API 出口プログラム

次の図は、トランザクションの基本的な役割を示しています。図で示された構造は、トランザクション・プ ログラム・ネットワークと呼ばれます。構造は、単一レベル・ツリーでも複数レベル・ツリーでも可能で す。

2

フェーズ・コミット処理での役割

:

単一レベル・ツリー

システム A 上のアプリケーションがコミット要求を出すと、システム A のリソース・マネージャーはイ ニシエーターになります。TCP/IP 上の Distributed Relational Database Architecture (DRDA) 分散作業単位 の場合、イニシエーターはコーディネーター と呼ばれます。

他の 3 つのシステム (B、C、および D) のリソース・マネージャーは、このトランザクションのエージェ ントになります。TCP/IP 上の DRDA 分散作業単位の場合、エージェントは参加者と呼ばれることもあり ます。

2

フェーズ・コミット処理での役割

:

複数レベル・ツリー

アプリケーションが APPC 通信を使って 2 フェーズ・コミットを実行している場合、システム間の関係は 1 つのトランザクションから次のものに変更することができます。次の図は、システム B 上のアプリケー ションがコミット要求を出した場合の同じシステムを示しています。この構成は複数レベル・ツリーです。

この図にある役割は TCP/IP 上の DRDA 分散作業単位には当てはまりません。複数レベルのトランザクシ ョン・ツリーはサポートされていないからです。

システム B はシステム C およびシステム D と直接通信していないので、トランザクション・プログラ ム・ネットワークには別のレベルがあります。システム A のリソース・マネージャーには、エージェント としての役割と、カスケード・イニシエーターとしての役割があります。

LU 6.2 の 2 フェーズ・トランザクションのパフォーマンスを向上させるために、イニシエーターは最後

のエージェントの役割を他のエージェントに割り当てることがあります。 最後のエージェントは、作成ウ ェーブには加わりません。 コミット・ウェーブでは、最後のエージェントが最初にコミットします。 最後 のエージェントが正常にコミットしない場合には、イニシエーターは他のエージェントにロールバックする ように指示します。

TCP/IP 上の DRDA 分散作業単位の場合、コーディネーターは、参加者に再同期サーバーの役割を割り当

てることがあります。再同期サーバーは、コーディネーターとの通信障害が発生した場合や、コーディネー ターにシステム障害が生じた場合に、他の参加者の再同期をとることを担当します。

関連概念

37ページの『2 フェーズ・コミットのコミットメント定義 : 読み取り専用ボートの許可』

通常、トランザクション・マネージャーはコミット処理の両フェーズに参加します。コミット処理のパフォ ーマンスを向上させるために、トランザクション・マネージャーが読み取り専用をボートできるように、一 部またはすべてのロケーションを設定することができます。

ドキュメント内 rzakj.ps (ページ 37-40)