6.1.5 リソースマネジャ起動待ち合わせ機能
OpenTP1以外が提供するリソースマネジャ(非同期RM)は,OpenTP1と同期を取らないで起動・停止できます。XAインタフェースでアクセスする非同期RMが未起動の状態でOpenTP1を起動し,その非同期RMにアクセスするユーザサーバを実行した場合,xa_open関数エラーとなりユーザサーバの異常終了や閉塞が発生することがあります。特に,上記のユーザサーバを自動起動(OpenTP1起動時に指定されたユーザサーバを起動する機能)する場合,その可能性が高くなります。
このような現象を回避するには,非同期RMの起動を完了させたあと,OpenTP1を起動するという運用をする必要があります。この機能は,OpenTP1起動時にOpenTP1に登録された非同期RMの起動を確認し,未起動の場合には全非同期RMが起動されるまでOpenTP1を中断状態とする機能です。この機能を使用することによって,システム開始時にOpenTP1と非同期RMとの起動のタイミングを意識する必要がなくなり,システム運用の負担を軽減できます。
非同期RMの起動確認は,非同期RMが提供するxa_open関数が正常終了するかしないかで判断します。したがって,未起動状態でもxa_open関数が正常終了する非同期RMとの起動待ち合わせはできません。
(1) 使用方法
この機能は,トランザクションサービス定義にtrn_wait_rm_openオペランドを指定することで使用できるようになります。未起動非同期RMの起動確認をリトライする回数,およびインタバルを指定できます。
(2) 注意事項
-
この機能によって起動待ち合わせができるリソースマネジャは,trnlnkrmコマンドでOpenTP1システムに登録したOpenTP1以外が提供するリソースマネジャだけです。
-
トランザクションサービス定義のtrn_wait_rm_openオペランドにstopまたはretry_stopを指定したシステムで,起動待ち合わせ対象のリソースマネジャが障害などで起動できなくなった場合は,OpenTP1システムも起動(リラン)できなくなります。リソースマネジャの起動を中止してOpenTP1を起動する場合は,trn_wait_rm_openオペランドの指定値をcontinueまたはretry_ continueに変更し,OpenTP1システムを再起動してください。リトライ中に開始処理を中止する場合は,dcstop -fコマンドでOpenTP1システムを強制停止してください。
-
非同期RMの起動確認は,非同期RMが提供するxa_open関数が正常終了するかしないかで判断します。したがって,未起動状態でもxa_open関数が正常終了する非同期RMとの起動待ち合わせはできません。
-
トランザクションサービス定義のtrn_wait_rm_openオペランドにretry_continueまたはretry_stopを指定し,非同期RMのxa_open関数エラーが発生した場合,trn_retry_interval_rm_openオペランドで指定したインタバルで,trn_retry_count_rm_openオペランドで指定した回数だけ,未起動非同期RMのxa_open関数を発行します。したがって,実際のxa_open関数発行のリトライ間隔は,「全未起動非同期RMのxa_open関数処理時間+trn_retry_interval_rm_openオペランド指定時間」となります。
-
HiRDBの起動待ち合わせをする場合は,HiRDB 02-05-/G以降を使用してください。