tsrollback(トランザクションのロールバック)
形式
tsrollback {-t|-T トランザクショングローバル識別子 [-F] } [-f]
機能
指定したトランザクションブランチを強制的にロールバックします。指定できるトランザクションブランチは,tslstrnコマンドで表示されるトランザクションの状態がPREPARED状態であり,かつHOLD欄がwaitのものだけです。
tsrollbackコマンドは,グローバルトランザクションを構成している各トランザクションブランチが何らかの要因(通信障害など)でトランザクションを決着できない場合に入力します。このとき,ほかのトランザクションとの不整合を発生させないために,グローバルトランザクション内のほかのトランザクションブランチもロールバックしてください。通信障害が発生している場合,トランザクションブランチ間の連絡が完了するまでトランザクションを終了できません。このとき,-fオプションを指定すると,トランザクションを強制的に終了できます。通信障害が一時的な場合,-fオプションは指定しないでコマンドを実行してください。
オプション
-t
コマンドを実行したノードのトランザクションマネージャが管理しているトランザクションで,PREPARED状態であり,かつHOLD欄がwaitのすべてのトランザクションのロールバックを受け付けます。また,ロールバックするトランザクションに関する情報が標準出力に出力されます。ここで出力される情報は,tslstrnコマンドで出力されるものと同じです。
-T トランザクショングローバル識別子
〜<16文字の英数字>
指定されたトランザクショングローバル識別子を持つトランザクションが,PREPARED状態であり,かつHOLD欄がwaitであればロールバックを受け付けます。また,ロールバックするトランザクションに関する情報が標準出力に出力されます。ここで出力される情報は,tslstrnコマンドと同じ情報です。
トランザクショングローバル識別子は,-tオプション付きのtslstrnコマンドで知ることができます。
-F
-Tオプションで指定したトランザクションにスペリア(呼び出し元のトランザクションブランチ)がない場合,そのトランザクションがロールバックされます。
-Fオプションを指定した場合,-Tオプションに指定されたトランザクショングローバル識別子を持つトランザクションが,PREPARED状態であり,かつHOLD欄がotherであれば処理を受け付けます。このトランザクションのうち,スペリアがすでになければロールバックが行われます。スペリアがまだある場合は,コマンドによるロールバックは行われません。スペリアから決着指示があったときに,その指示に従って決着処理が行われます。
-Fオプションと-fオプションを同時に指定した場合は,-fオプションは無視されます。
-f
トランザクションを強制終了します。
表示形式
prompt> tsrollback -T e06d36c603000000 GID BID STATUS HOLD PID TID e06d36c603000000 ff7236c600000003 PREPARED wait 0 0