スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)

[目次][索引][前へ][次へ]

pdtrndec未決着トランザクションの強制自動決着

機能

障害発生後のHiRDBの再開始時,又はHiRDBの正常終了時に,未決着状態のトランザクションがある場合(KFPS00992-Eメッセージが出力されます),このトランザクションを強制的に決着します。

未決着状態のトランザクションがあるときの対処方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。

実行者

HiRDB管理者が実行できます。

形式

 
 pdtrndec -i 入力ファイル名〔,入力ファイル名〕…
 
     〔-r ロールバックスクリプトファイル名〕 〔-o 出力先ディレクトリ名〕
 

オプション

イベントログをテキストファイルで保存したファイルを,絶対パス名で指定します。

<規則>
  1. ファイルを複数指定する場合は,コンマを含めて4,096文字以内で指定してください。
  2. イベントログを保存したファイル以外のファイルを指定した場合,コマンドの実行結果は保証されません。
  3. 入力ファイル名には空白を含んでいてはいけません。
  4. 入力ファイル中の該当するトランザクションの情報が欠落している場合(不当な入力ファイルを指定した場合も含む),トランザクションは決着しないで決着保留となります。

事前に実行したpdtrndecコマンドの出力ファイル(pdtrnrbk.bat)を指定します。

このオプションを指定した場合は,ロールバックスクリプトファイル中で決着対象としているトランザクションだけを強制的に決着します。pdtrndecコマンドの出力ファイル以外のファイルを指定した場合,コマンドの実行結果は保証されません。

pdtrndecコマンドを実行した場合に出力される実行履歴(pdtrndecout),及びバッチファイル(pdtrnrbk.bat)の出力先ディレクトリ名を,絶対パス名で指定します。

<規則>
  1. このオプションを省略した場合は,カレントディレクトリが出力先となります。
  2. 指定した出力先ディレクトリに既に実行履歴,及びバッチファイルがある場合,実行履歴は追加書きされ,バッチファイルは上書きされます。
  3. 同時に-rオプションを指定した場合,バッチファイルは出力されません。
  4. 出力先ディレクトリ名には空白を含んでいてはいけません。

規則

  1. pdtrndecコマンドは,HiRDBが稼働中のときだけ実行できます。
  2. pdtrndecコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
  3. pdtrndecコマンドは,障害発生後のHiRDBの再開始時,又はHiRDBの正常終了時に未決着状態のトランザクションがある場合に実行するものです。したがって,未決着状態のトランザクションがあるかどうか分からない状態で実行すると,不当にトランザクションを決着してしまう可能性があります。
  4. pdtrndecコマンドは,複数同時実行しないでください。同時実行した場合,実行結果は保証されません。

注意事項

  1. pdtrndecコマンドを実行する場合,回復不要FESを除くHiRDBの全サーバが稼働中であることを確認してください。稼働していないサーバがある場合,決められた手順でサーバを開始してください。
  2. pdtrndecコマンドを実行する場合,HiRDBのクライアント製品(OLTPシステム,HiRDB Datareplicatorなど)が正常に稼働していることを確認してください。稼働していない場合は,各製品で決められた手順で開始してください。ただし,開始していないクライアント製品がある状態で強制的に決着する場合は,次の点に注意してください。
    • コマンド実行後に出力されたバッチファイル(pdtrnrbk.bat)を実行すると,コマンド実行後に決着保留としたトランザクションを強制的にロールバックします。したがって,この後に,開始していないクライアント製品を開始すると,HiRDBとクライアント製品の間で同期が取れなくなる可能性があります。
  3. 入力ファイルを指定してpdtrndecコマンドを実行しても未決着状態のトランザクションが残っている場合は,バッチファイル(pdtrnrbk.bat)を指定して実行し,未決着状態のトランザクションを決着してください。
  4. pdtrndecコマンドは,トランザクションのコミットコマンド,ロールバックコマンドなどの処理完了と同期するため,時間が掛かることがあります。
  5. pdtrndecコマンド実行後,pdtrndecコマンドで指定した出力先ディレクトリ下のファイルは削除してください。
  6. pdtrndecコマンド実行時のリターンコードを次に示します。
    0:正常終了
    4:警告終了(一つ以上の未決着状態のトランザクションがあります)
    8:異常終了
  7. pdntenvコマンドで文字コードとしてutf-8を選択した場合,pdtrndecの入力ファイルには,BOMを持つファイルを使用できます。なお,pdtrndecの入力ファイルとしてBOMを持つファイルを使用しても,BOMは読み飛ばされます。また,pdtrndecで出力されるファイルにはBOMは付きません。

出力形式

〔説明〕
  1. コマンド開始日時(年/月/日 時:分:秒)
  2. 未決着トランザクションがあったホスト名(32文字以内)
  3. 未決着トランザクションがあったグローバルトランザクションID(16文字)
  4. 未決着トランザクションがあったブランチトランザクションID(16文字)
  5. 未決着トランザクションがあったサーバ名(8文字以内)
  6. 未決着トランザクションが決着した種別(8文字以内)
    種別を次に示します。
    種別 意味 処置
    COMMIT 強制コミット決着 なし。
    ROLLBACK 強制ロールバック決着 なし。
    FORGET 強制終了 なし。
    FAIL 強制コミット決着,強制ロールバック決着,又は強制終了がエラー エラー原因を取り除いた後,再度pdtrndecコマンドを実行してください。
    ******** 決着保留
    • HiRDB/シングルサーバの場合,及びHiRDB/パラレルサーバのシステムマネジャユニットの入力ファイルでpdtrndecコマンドを実行した場合
      入力ファイルを変更して,再度pdtrndecコマンドを実行してください。
    • HiRDB/パラレルサーバのシステムマネジャがないユニットの入力ファイルでpdtrndecコマンドを実行した場合
      バッチファイル(pdtrnrbk.bat)を指定して,再度pdtrndecコマンドを実行してください。
  7. 強制決着を実行した時刻(時:分:秒)

〔説明〕
  1. トランザクションをロールバック決着するためのコマンドフォーマット