5.1 トランザクション・サービスの概要

Oracle Tuxedo製品の最も基本的な機能の1つにトランザクション管理があります。トランザクションは、データベース・トランザクションが誤りなく完了し、高性能トランザクションのすべてのACIDプロパティ(原子性、一貫性、分離性、および永続性)が確保されるようにする手段です。Oracle Tuxedoシステムでは、データベースの更新が(様々なリソース・マネージャにまたがる場合でも)誤りなく実行されるようにする完全なインフラストラクチャによってトランザクションの整合性が保護されます。

Oracle Tuxedoシステムは、次のものを使用します:

  • CORBAサービスのオブジェクト・トランザクション・サービス(OTS)

Oracle Tuxedo製品のCORBA環境では、オブジェクト・トランザクション・サービスに対するC++インタフェースが提供されます。OTSには、TransactionCurrent環境オブジェクトを通じてアクセスします。TransactionCurrent環境オブジェクトの使用方法については、Oracle Tuxedoオンライン・ドキュメントの『CORBAクライアント・アプリケーションの作成』を参照してください。

OTSでは、ビジネス・トランザクションについて次のサポートが提供されます:

  • クライアント・アプリケーションによってトランザクションが開始されたときにグローバル・トランザクション識別子が作成されます。
  • トランザクションに関与し、トランザクションがコミットされるときにコーディネートする必要のあるオブジェクトがTPフレームワークと共同でトラッキングされます。
  • トランザクションでアクセスされるときに、リソース・マネージャ(たいていはデータベース)が通知を受けます。通知を受けたリソース・マネージャは、トランザクションが終了するまでアクセス対象のレコードをロックします。
  • トランザクションの完了時に2フェーズ・コミットが調整されます。この調整により、トランザクションに関わっているすべてのリソースで更新が同時にコミットされます。Open Group XAプロトコルを使用して、更新されるすべてのデータベースでコミットがコーディネートされます。この規格は、ほぼすべてのリレーショナル・データベースでサポートされています。
  • トランザクションを停止する必要があるときにロールバック処理が実行されます。
  • 障害が起きたときにリカバリ処理が実行されます。クラッシュの時点でアクティブだったトランザクションが確認され、そのトランザクションをロールバックするのかコミットするのかが判断されます。