Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


7.2.2 HiRDB XAライブラリ

X/Open XAインタフェースとは,分散トランザクション処理(DTP:Distributed Transaction Processing)システムのトランザクションマネジャ(TM:Transaction Manager)とリソースマネジャ(RM:Resource Manager)の接続インタフェースを規定したX/Openの標準仕様です。XAインタフェースを使用すると,リソースマネジャのトランザクション処理をトランザクションマネジャで制御できます。リソースマネジャのトランザクション処理をトランザクションマネジャで制御するには,リソースマネジャが提供するライブラリとトランザクションマネジャが提供するライブラリをUAPにリンケージします。

HiRDBのUAPの処理をトランザクションマネジャで制御するために,HiRDBはHiRDB XAライブラリを提供しています。HiRDB XAライブラリは,X/Open DTPソフトウェアアーキテクチャのXAインタフェースの仕様に準拠しています。

X/Open DTPモデルでのHiRDBの位置づけを次の図に示します。

図7‒1 X/Open DTPモデルでのHiRDBの位置づけ

[図データ]

なお,X/Open XAインタフェースを使用するUAPから回復不要FESに接続すると,SQLがエラーリターンします。クライアント環境定義のPDFESHOST及びPDSERVICEGRPを指定して,回復不要FESではないフロントエンドサーバに接続してください。

〈この項の構成〉

(1) HiRDB XAライブラリが提供する機能

HiRDB XAライブラリが提供する機能を次の表に示します。

表7‒1 HiRDB XAライブラリが提供する機能

機能

説明

トランザクションの移行

トランザクションのコミット処理をUAPがHiRDBにアクセスしたときと異なるプロセスで実行する機能です。ここでいうUAPとは,HiRDB XAライブラリを使用してHiRDBに接続するUAPのことです。

トランザクションの移行を使用するかどうかは,クライアント環境定義のPDXAMODEオペランドで指定します。トランザクションの移行については,「トランザクションの移行」を参照してください。

一相最適化

二相コミット制御を一相に最適化する機能です。

一相最適化を使用する場合,トランザクションの完了種別がトランザクションマネジャとHiRDBで一致しないことがあります。詳細については,「一相最適化に関する注意事項」を参照してください。

読み取り専用

プリペア要求でHiRDBのリソースが更新されていない場合,トランザクションマネジャが二相目にコミット要求をしないで最適化する機能です。

動的トランザクションの登録

UAPを実行する直前に,HiRDBが動的にトランザクションを登録する機能です。

複数接続機能

一つのプロセスからHiRDBサーバに対して複数のCONNECTを別々に実行する機能です。X/Open XAインタフェース環境下での複数接続機能については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

HiRDB XAライブラリでは,非同期XA呼び出し(トランザクションマネジャが非同期にHiRDB XAライブラリを呼び出す機能)を提供していません。

(2) マルチスレッド対応のXAインタフェース

マルチスレッド対応のXAインタフェースを利用すると,TPBroker for C++とHiRDBでOTS(Object Transaction Service)連携ができます。

なお,マルチスレッド用のライブラリはC言語又はC++言語でだけ使用できます。COBOL言語では使用できません。

マルチスレッド対応のXAインタフェースを使用するには専用のHiRDBクライアントライブラリをリンクしてください。バージョン05-06より前のHiRDBクライアントライブラリはマルチスレッドに対応していません。マルチスレッド用のライブラリは,既存のHiRDBクライアントが接続できるすべてのHiRDBサーバに対して使用できます。マルチスレッド用のライブラリを使用すると,スレッドの間で接続を共有できます。