2.33.1 pdfgtの形式と規則
(1) 機能
グローバルトランザクションを構成している各トランザクションブランチが,何らかの要因(通信障害など)でトランザクションを終了できない場合に強制的にそのトランザクションを終了します。
例えば,次の場合はトランザクションが終了しません。
-
OLTPシステムとHiRDBの間でトランザクションの同期合わせをする前に,通信障害が発生した場合
-
OLTPシステムとHiRDBの間でトランザクションの同期合わせをする前に,OLTPシステムが異常終了した場合
このような場合にpdfgtコマンドを使用して,トランザクションを強制的に終了します。また,上記以外の障害が発生し,トランザクションを強制的に終了するときにもpdfgtコマンドを使用できます。
pdfgtコマンドは,pdlsコマンド(-d trn指定)で表示された情報のトランザクション第1状態がFORGETTINGでトランザクション第3状態がwのトランザクションを強制的に終了します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
(a) HiRDB/シングルサーバの場合
pdfgt 〔{-x ホスト名|-u ユニット識別子}〕 〔-s サーバ名〕 {-A | -t トランザクション識別子}
(b) HiRDB/パラレルサーバの場合
pdfgt {-x ホスト名|-u ユニット識別子} 〔-s サーバ名〕 {-A | -t トランザクション識別子}
(4) オプション
(a) {-x ホスト名|-u ユニット識別子}
該当するトランザクションがあるホストのホスト名,又はユニットのユニット識別子を指定します。
- -x ホスト名 〜<識別子>((1〜32))
-
該当するトランザクションがあるホストのホスト名を指定します。
- -u ユニット識別子 〜<識別子>((4文字))
-
該当するトランザクションがあるユニットのユニット識別子を指定します。
(b) -s サーバ名 〜<識別子>((1〜8))
ユニットに複数のサーバがある場合,サーバを特定するときにサーバ名を指定します。省略した場合,対象となるホスト内のすべてのサーバを対象とします。
(c) -A
-sオプションで指定したサーバ内のトランザクションのうち,FORGETTING状態で同期合わせ待ち状態のすべてのトランザクションを終了する場合に指定します。
(d) -t トランザクション識別子 〜<識別子>((16文字))
FORGETTING状態で同期合わせ待ち状態のトランザクションを終了する場合に,トランザクション識別子を指定します。
(5) 規則
-
pdfgtコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdfgtコマンドは,各サーバマシンで実行してください。
(6) 注意事項
-
pdfgtコマンドの結果は,pdlsコマンド(-d trn指定),コマンド実行時のリターンコード,又はエラーメッセージの有無で確認できます。コマンド実行時のリターンコードが0の場合は正常終了,1の場合は異常終了(オプション指定不正,rsh失敗など)です。
-
回復不要FESに接続して実行したトランザクションは,トランザクション第1状態がFORGETTING,トランザクション第3状態がwの場合でも,強制的に終了できないことがあります。この場合,トランザクションを自動決着してください。未決着状態のトランザクションを決着する方法の詳細については,マニュアル「HiRDB Version 9 システム運用ガイド」の「未決着状態のトランザクションを決着する方法」を参照してください。
-
現在は停止しているクライアント製品からの要求で発生した未決着状態のトランザクションを強制的に終了すると,この後でクライアント製品を開始したときに,HiRDBとクライアント製品との間でこのトランザクションの同期が取れないことがあります。