Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


3.3.3 トランザクションの強制終了

通信障害が発生してトランザクションを強制決着すると,トランザクションブランチ間の連絡が完了するまでトランザクションを終了できません。通信障害が長時間回復する見込みのない場合には,トランザクションを強制終了できます。この場合,-fオプション指定のtrncmtもしくはtrnrbkコマンド,またはtrnfgtコマンドを使用します。

-fオプションを指定したtrncmt,またはtrnrbkコマンドを実行すると,トランザクション第1状態,第2状態,および第3状態がREADY(p,n)状態のトランザクションを,強制的にコミット,またはロールバックします。この場合,該当するトランザクションブランチの決着結果を,同一グローバルトランザクション内のほかのトランザクションブランチに通知することはできません。そのため,同一グローバルトランザクション内のすべてのトランザクションブランチを,同一の方法で決着できなくなることがあります。

-fオプションを指定しないtrncmt,またはtrnrbkコマンドを実行したあと,トランザクションを強制終了したい場合は,trnfgtコマンドを使用します。trnfgtコマンドを実行すると,トランザクション第1状態,第2状態,および第3状態がHEURISTIC_FORGETTING(p,n)状態のトランザクションを,強制的に終了します。この場合も,該当するトランザクションブランチの決着結果を,同一グローバルトランザクション内のほかのトランザクションブランチに通知することはできません。そのため,同一グローバルトランザクション内のすべてのトランザクションブランチを,同一の方法で決着できなくなることがあります。

トランザクションを強制終了すると,リソースマネジャが使用していた資源が解放されるので,ほかのUAPから使用できるようになります。