Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


3.3.5 トランザクションの移行

トランザクションのコミット処理を,UAPがHiRDBをアクセスしたときと異なるプロセスで実行することをトランザクションの移行といいます。

なお,ここでいうUAPとは,HiRDB XAライブラリを使用してHiRDBに接続するUAPのことです。

トランザクションの移行機能を使用する場合,クライアント環境定義のPDXAMODEオペランドに1を指定してください。

PDXAMODEオペランドについては,「クライアント環境定義の設定内容」を参照してください。

〈この項の構成〉

(1) PDXAMODEオペランドの指定によるLOCK TABLE UNTIL DISCONNECTの有効範囲

PDXAMODEの指定によって,LOCK文のLOCK TABLE UNTIL DISCONNECTの有効範囲が変わります。

(a) PDXAMODE=0の場合

  1. AP記述によってリソースマネジャのオープン処理をする場合

    リソースマネジャのクローズ実行時まで有効になります。

  2. トランザクションごとにリソースマネジャのオープン処理をする機能がある場合

    グローバルトランザクション内で有効になります。

(b) PDXAMODE=1の場合

  1. AP記述によってリソースマネジャのオープン処理をする場合

    • トランザクションの移行が発生しない場合

      リソースマネジャのクローズ実行時まで有効になります。

    • トランザクションの移行が発生する場合

      グローバルトランザクション内で有効になります。

  2. トランザクションごとにリソースマネジャのオープン処理をする機能がある場合

    グローバルトランザクション内で有効になります。

OpenTP1を利用した場合のLOCK TABLE UNTIL DISCONNECTの有効範囲を,次の表に示します。

表3‒7 OpenTP1を利用した場合のLOCK TABLE UNTIL DISCONNECTの有効範囲

PDXAMODEの指定値

OpenTP1の指定値

LOCK TABLE UNTIL DISCONNECTの有効範囲

0

trn_rm_open_close_scope=process

リソースマネジャのクローズまで有効

trn_rm_open_close_scope=transaction

グローバルトランザクション内で有効

1

trn_rm_open_close_scope=process

trnstringオペランドで-dオプションを指定

リソースマネジャのクローズまで有効

trnstringオペランドで-dオプションを省略

同一のOpenTP1システム内では単体のAPでグローバルトランザクションを構成

同一のOpenTP1システム内では複数のAPでグローバルトランザクションを構成

一つのAPが HiRDB XAライブラリとリンク

複数のAPが HiRDB XAライブラリと

リンク

グローバルトランザクション内で有効

trn_rm_open_close_scope=transaction

注 -dオプションは,TP1/Server Baseのバージョンが03-03以降で,かつUNIX版HiRDBの場合に指定できます。