Oracle RACの分散トランザクション処理(DTP)を使用してアプリケーションのパフォーマンスを向上させるには、DTPサービスまたはXAアフィニティを利用します。DTPサービスを使用すると、分散トランザクションのすべてのブランチをクラスタ内のシングル・インスタンスに割り当てることができます。クラスタ全体でロード・バランスを実行するには、1つまたは2つの大きいアプリケーション・サーバーを使用するよりも、小さいアプリケーション・サーバーのグループをいくつか用意して、各グループ内でトランザクションを単一または一連のサービスに割り当てる方が効果的です。同じXAブランチを一時停止および再開する場合は、DTPまたはXAアフィニティが必要です。
また、Oracle RACデータベースの複数の接続にわたりロード・バランスを実行するアプリケーション・サーバー層の接続プールでは、XAアフィニティを使用して1つのグローバル分散トランザクションのすべての密結合ブランチが、1つのOracle RACインスタンスのみで実行されることを確認できます。これは、X/Open分散トランザクション処理(DTP)やMicrosoft分散トランザクション・コーディネータ(DTC)などのプロトコルを使用した分散トランザクション環境でも同様です。
分散トランザクションのパフォーマンスを向上させるには、サービスを使用してDTP環境を管理します。サービスのDTPプロパティを定義すると、サービスが、Oracle RACデータベースで一度に1つのインスタンスで実行されることが保証されます。DTPサービスを介して実行されるすべてのグローバル分散トランザクションで、密結合ブランチが単一のOracle RACインスタンスで実行されることが保証されます。これには、次のような利点があります。
密結合ブランチで相互に行った変更が必要である場合に、1つのOracle RACインスタンス内で変更をローカルに参照できます。
DTPでのサービスの再配置およびフェイルオーバーをサポートしています。
Oracle Databaseでは、Oracle RACインスタンスより多くのDTPサービスを使用することによって、Oracle RACデータベースのすべてのインスタンスのサービスで負荷を均等に分散できます。