プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
12cリリース1 (12.1)
B71323-07
目次へ移動
目次
索引へ移動
索引

前
次

XAトランザクションとDTPサービスの概要

デフォルトでグローバル(XA)・トランザクションは、Oracle RACインスタンスにまたがることができ、Oracle XAライブラリを使用する任意のアプリケーションが、Oracle RAC環境を十分に利用してアプリケーションの可用性およびスケーラビリティを向上させるようにすることができます。

GTXnバックグラウンド・プロセスは、Oracle RAC環境でXAトランザクションをサポートしています。GLOBAL_TXN_PROCESSES初期化パラメータ(デフォルトで1に設定)は、各Oracle RACインスタンスのGTXnバックグラウンド・プロセスの初期数を指定します。クラスタ全体でこのパラメータのデフォルト値を使用し、複数のOracle RACインスタンス間にわたる分散トランザクションを可能にします。デフォルト値の使用により、Oracle RACインスタンス全体にわたって実行される作業単位は、リソースを共有し、単一のトランザクションとして機能します(つまり、作業単位は密結合となります)。また、クラスタ内の任意のノードへの2フェーズ・コミット要求の送信も可能となります。

Oracle RAC 11gリリース1 (11.1)より前では、Oracle RACで密結合を実現する方法として分散トランザクション処理(DTP)サービス、つまりカーディナリティ(1)によって、ロード・バランシングが有効かどうかに関係なく、すべての密結合ブランチが確実に同じインスタンスに配置されるサービスを使用していました。XAアプリケーションが同じトランザクション・ブランチで一時停止および再開を使用せず、かつ、ブランチにまたがるセーブポイントを発行しない場合、密結合されたXAトランザクションは、Oracle RACデータベースにデプロイするための特別なタイプのシングルトン・サービスを必要としません。トランザクション・ブランチが一時停止されたか再開されたかをアプリケーションが判断できない場合は、アプリケーションは、DTPサービスを、または、できればXAアフィニティを引き続き使用する必要があります。

同じXAブランチを一時停止または再開する場合、あるいはブランチにわたってセーブポイントを使用する場合、XAアフィニティ(同じXAトランザクションのすべてのブランチを同じOracle RACインスタンスに配置すること)が要件になります。様々なトランザクションのバランスを取ることができるため、はるかに優れたパフォーマンスももたらされます。XAアフィニティは、Oracle WebLogic Server Active GridLink for Oracle RAC、JDBC Universal Connection PoolおよびOracle Tuxedoで使用できます。

注意:

数多くのトランザクション処理モニターには、XAアフィニティまたはDTPサービスが引き続き必要です。これらを使用するアプリケーションが同じブランチの一時停止および再開を行ったり、セーブポイントを使用するためです。

Oracle Services for Microsoft Transaction Server(OraMTS)などの外部トランザクション・マネージャは、DTP/XAトランザクションを調整します。ただし、Oracleの内部トランザクション・マネージャが、分散SQLトランザクションを調整します。DTP/XAと分散SQLトランザクションは、両方ともOracle RACのDTPサービスを使用する必要があります。

関連項目:

  • Oracle RACでのOracle XAの使用の詳細は、『Oracle Database開発ガイド』を参照してください。

  • GLOBAL_TXN_PROCESSES初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。