7.4 実行系孤立状態になった場合の対処

ここでは,待機系がなくなり,実行系孤立状態になったときのXTCの処理と管理者の対処について説明します。

<この節の構成>
(1) XTCの処理
(2) 管理者の対処
(3) DB管理者の対処

(1) XTCの処理

実行系孤立状態となった場合,XTCは次に示す順序で終了処理を行います。

  1. 受信メッセージに対してエラーを応答するか,または受信メッセージを破棄します。送信元で発行したAPIによって処理が異なります。XTCの処理は次に示すどちらかになります。
    • 一方送信メッセージを受信した場合,受信メッセージを破棄します。送信元では,エラートランザクションを起動します。
    • RPCメッセージを受信した場合,受信メッセージを破棄します。送信元で発行したAPIがエラーとなります。
  2. 出力キューを閉塞します。
  3. トランザクションの受け付けを休止します。
    実行中のトランザクションの終了を待ちます。新規トランザクションは起動しません。
  4. キューログ回復処理を行います。
    キューログ回復処理については,「7.10 系切り替えが発生したときのXTCの処理」を参照してください。
  5. キューダンプを出力します。
    XTCの終了時に出力するキューダンプと同じ情報が出力されます。キューダンプの出力先については,「2.9.2(2)(b)実行系孤立状態になったとき」を参照してください。
  6. XDBのデータベースのデータを格納したメモリダンプを出力します。
    メモリダンプについては,マニュアル「TP1/EE/Extended Data Cache 使用の手引」を参照してください。
  7. eetrbwtorコマンドの入力待ち状態になります。
    管理者は,孤立終了モードを指定してeetrbwtorコマンドを実行してください。詳細については,「(2)管理者の対処」を参照してください。
    この間,トランザクションの受け付けを休止しているため,新規トランザクションは起動されません。
  8. 実行系連絡トランザクション(UI)を起動します。
  9. トランザクションの受け付けを開始します。
  10. 出力キューの閉塞を解除します。
  11. XTCの終了処理を行います。
    eetrbwtorコマンドに指定された孤立終了モードに従ってXTCを終了します。
    このとき,終了トランザクションのトランザクションインタフェース情報のプロセス終了要因に孤立終了モードが設定されます。

参考
XTCの開始処理中に実行系孤立状態になった場合,XTCの開始処理を中止します。

(2) 管理者の対処

XTCがメモリダンプを出力したあと,eetrbwtorコマンドの入力待ち状態になります。管理者は,孤立終了モードを指定してeetrbwtorコマンドを実行し,XTCを終了してください。

孤立終了モード
孤立終了モードには,次に示す2種類があります。
  • 孤立終了モードA
    正常終了と同様に,処理キュー上の受け付け済みのサービス要求をすべて処理したあとにXTCを終了します。出力キュー(OTQ)の終了監視は,mch_send_end_otqwatchオペランドの指定値に従います。このとき,ERRTRN4を起動します。
  • 孤立終了モードB
    計画停止Bと同様に処理キュー上の受け付け済みのサービス要求をすべて破棄します。出力キューの終了監視は行いません。
なお,次に示す場合は,孤立終了モードAでXTCが終了します。
  • eetrbwtorコマンドを実行する前にeesvstopコマンドを実行した場合
  • XTCの終了処理中に実行系孤立状態となった場合

(3) DB管理者の対処

メモリダンプファイルから表データを抽出する場合,最新のメモリダンプファイルを使用してください。最新のメモリダンプファイルの判断方法は,すべての系のメモリダンプファイル名称を比較し,一番進んでいるコミット通番から判断してください。プロセスダウンなどでメモリダンプファイルが出力されないものは比較対象から除いてください。

メモリダンプファイル名称は次のようになります。

”サービスグループ名_ノードID_ランID_CL通番_xdb_コミット通番”