11.2.11 -902: DCTRNER_ROLLBACKエラーリターンが出力された場合
- 〈この項の構成〉
(1) 現象
dc_trn_unchained_commit関数またはdc_trn_chained_commit関数が,エラーコード:-902,リターン値:DCTRNER_ROLLBACKでエラーリターンしました。
(2) 現象発生時の確認事項
-
現象発生日時
-
該当ユーザサーバでのdc_rpc_call関数またはdc_rpc_call_to関数の発行有無
-
発行している場合は,グローバルトランザクション構成
-
ノードが異なる場合は,ノード間の時刻差
-
-
リソースマネジャを使用している場合,該当ユーザサーバがアクセスするリソースマネジャ
(4) 調査手順
この障害事例の主な原因として考えられる点を次に示します。
-
該当ユーザサーバがRPCコールを使用して子ブランチを生成しているとき,同期点処理に入ったあと,子ブランチ側でロールバック要因が発生。
-
該当ユーザサーバがOpenTP1以外のリソースマネジャ(Oracle,HiRDBなど)を使用しているとき,同期点処理に入ったあと,リソースマネジャ側でロールバック要因が発生(この場合,XA関数がエラーリターンしているため,KFCA00906-E,KFCA00907-E,またはKFCA00908-Eメッセージが出力されます)。
-
同期点処理中の通信でtrn_watch_timeオペランドの満了。
trn_rollback_information_put=allを指定しておくことで,ロールバックが発生した要因を示すKFCA00989-Iメッセージが出力されます。トラブル発生時の調査が容易になりますので,指定することをお勧めします。
次に示すフローはKFCA00989-Iメッセージを使用して調査する流れです。フローに従って現象の切り分けを行い,必要に応じてOpenTP1のサポートセンタ,またはリソースマネジャのサポートセンタへ問い合わせてください。