Hitachi

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


7.2.5 トランザクションマネジャへの登録

OLTPと連携するには,HiRDBをトランザクションマネジャに登録する必要があります。HiRDBをトランザクションマネジャに登録するには,各トランザクションマネジャのコマンド又は機能を使用します。

〈この項の構成〉

(1) 動的登録と静的登録

HiRDBをトランザクションマネジャに登録するときに,次に示すどちらかの方法を選択してください。

なお,一つのトランザクションマネジャに対して,動的登録と静的登録を混在して使用できません。

(a) 動的登録とは

HiRDBをトランザクションマネジャに動的登録すると,トランザクション内で最初のSQL文を発行したときに,UAPがトランザクションマネジャの制御下に入ります。UAPがHiRDBを含む複数のリソースマネジャをアクセスする場合,又はUAPがHiRDBをアクセスするとは限らない場合などに,トランザクションマネジャからのHiRDBに対するトランザクション制御のオーバヘッドを削減できます。

(b) 静的登録とは

HiRDBをトランザクションマネジャに静的登録すると,UAPがSQL文を発行するかどうかに関係なく,トランザクションの開始時に常にトランザクションマネジャの制御下に入ります。

トランザクションマネジャがOpenTP1の場合,UAPとHiRDBとのコネクションが切断されたとき(ユニットの異常終了,又はサーバプロセスの異常終了などのとき)に,OpenTP1にはトランザクション開始時に再接続をする機能があるため,UAPの再起動が不要になります。

(2) 動的登録と静的登録の違い

動的登録と静的登録の違いを次の表に示します。

表7‒3 動的登録と静的登録の違い

差異のポイント

動的登録

静的登録

トランザクション開始時

管理しない

  • コネクション確立中かの確認

  • トランザクションマネジャ制御下でのトランザクションの管理を開始

  • コネクション確立※1

トランザクション内で最初のSQL発行時

  • トランザクションマネジャの制御下での管理を開始

  • HiRDBのトランザクション開始

  • SQL処理

  • コネクション確立※1

  • HiRDBのトランザクション開始

  • SQL処理

トランザクション処理中のトランザクションマネジャとHiRDB間の通信回数

SQL文数+コミット処理通信回数+1(コネクション確立用通信分)※1

SQL文数+コミット処理通信回数+1(トランザクション開始処理用の通信分)+1(コネクション確立用通信分)※1

トランザクションマネジャとHiRDB間のコネクションが,途中で切断したときの再接続方法※2

次回のトランザクション開始時に自動的に再接続※3

次回のトランザクション開始時に自動的に再接続※4

注※1

マルチスレッド対応のXAインタフェース使用時にする処理です。

注※2

ネットワーク障害による切断は検知できません。ただし,トランザクションマネジャがTPBroker for C++の場合はトランザクション開始時に接続を確立するため,再接続できます。

注※3

トランザクションマネジャがOpenTP1/Server Baseの場合は,OpenTP1/Server Baseのtrn_rm_open_close_scopeオペランドにtransactionを指定することで,ネットワーク障害による切断の場合でも再接続できます。

注※4

トランザクションマネジャがOpenTP1/Server Baseの場合は,ネットワーク障害による切断の場合でも再接続できます。