Hitachi

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


3.18.3 プロセスサービスとOpenTP1監視サービスの相互監視

OpenTP1監視サービスとプロセスサービスは,稼働状態を相互に監視します。これによって,OpenTP1監視サービス自身が無応答状態になり,OpenTP1監視機能そのものが動作できなくなる事態を防止します。

〈この項の構成〉

(1) プロセスサービスに対する監視

OpenTP1監視サービスは,プロセスサービスからの定期的な稼働報告を監視します。最後の稼働報告から無応答監視時間を過ぎても稼働報告がない場合,無応答状態と判断します。プロセスサービスに対する監視の動作を次の図に示します。

図3‒58 プロセスサービスに対する監視の動作

[図データ]

(説明)
  1. プロセスサービスは,OpenTP1監視サービスへ定期的に稼働報告をします。

  2. ハードウェアの障害に起因する一時的なエラーなどによって,プロセスサービスはOpenTP1監視サービスへの稼働報告ができません。

  3. OpenTP1監視サービスは,無応答監視時間内にプロセスサービスからの稼働報告がないため,無応答状態と判断します。

  4. OpenTP1監視サービスは,プロセスサービスを強制停止します。

  5. 再開始(リラン)するため,OpenTP1を強制停止します。

  6. システム環境定義(mode_confオペランド)の指定に従い,手動または自動でOpenTP1を再開始(リラン)します。

  7. プロセスサービスは,OpenTP1監視サービスへの定期的な稼働報告を再開します。

(a) 無応答監視時間の指定方法

無応答監視時間は,システム共通定義のtp1_monitor_timeオペランドで指定します。tp1_monitor_timeオペランドの詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

(b) 無応答監視時間満了後のOpenTP1監視サービスの動作

OpenTP1監視サービスは,無応答監視時間内にプロセスサービスからの稼働報告がない場合(無応答状態になった場合),KFCA33309-Eメッセージを出力します。その後,OpenTP1を無応答状態から復帰させるためにプロセスサービスを強制停止します。

無応答監視時間満了時の動作は,システム共通定義のtp1_monitor_kill_signalオペランドで指定します。tp1_monitor_kill_signalオペランドの詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

tp1_monitor_kill_signalオペランドに0を指定した場合,OpenTP1監視サービスは無応答状態を検知しても,プロセスサービスを強制停止しません。したがって,KFCA33309-Eメッセージが出力された場合,OpenTP1を無応答状態から復帰させるために,プロセスサービスを手動で強制停止してください。なお,プロセスサービスを強制停止するには,スーパユーザで実行する必要があります。

(c) OpenTP1の再開始(リラン)

強制停止したOpenTP1を再開始(リラン)します。

プロセスサービスの強制停止後に,OpenTP1が自動で再開始(リラン)するかどうかは,システム環境定義のmode_confオペランドの指定に従います。詳細については,「2.1.4 開始形態の決定」の前回の終了モードが異常終了の場合の開始方法を参照してください。

OpenTP1が自動で再開始(リラン)しない指定の場合,手動で再開始(リラン)してください。

(2) OpenTP1監視サービスに対する監視

OpenTP1監視サービスのプロセスサービスに対する監視と同様に,プロセスサービスはOpenTP1監視サービスからの定期的な稼働報告を監視します。最後の稼働報告から無応答監視時間を過ぎても稼働報告がなかった場合,無応答状態と判断します。

(a) 無応答監視時間の指定方法

無応答監視時間は,プロセスサービスに対する監視と共通で,システム共通定義のtp1_monitor_timeオペランドで指定します。

(b) 無応答監視時間満了後のプロセスサービスの動作

プロセスサービスは,無応答監視時間内にOpenTP1監視サービスからの稼働報告がない場合(無応答状態になった場合),KFCA33310-Wメッセージを出力します。その後,無応答状態から復帰させるためにOpenTP1監視サービスの強制停止と再起動を行います。

OpenTP1監視サービスに対する監視の動作を次の図に示します。

図3‒59 OpenTP1監視サービスに対する監視の動作

[図データ]

(説明)
  1. OpenTP1監視サービスは,プロセスサービスへ定期的に稼働報告をします。

  2. ハードウェアの障害に起因する一時的なエラーなどによって,OpenTP1監視サービスはプロセスサービスへの稼働報告ができません。

  3. プロセスサービスは,無応答監視時間内にOpenTP1監視サービスからの稼働報告がないため,無応答状態と判断します。このとき,警告メッセージ(KFCA33310-W)を出力します。

  4. プロセスサービスは,OpenTP1監視サービスを強制停止します。

  5. プロセスサービスは,一定時間後にOpenTP1監視サービスを再起動します。

  6. OpenTP1監視サービスは,OpenTP1監視機能の開始メッセージ(KFCA33311-I)を出力します。

  7. OpenTP1監視サービスは,プロセスサービスへの定期的な稼働報告を再開します。

無応答監視時間満了によってOpenTP1監視サービスを強制停止する際,OpenTP1監視サービスのコアファイルを出力します。

(c) OpenTP1監視サービスの再起動

OpenTP1監視サービスがダウンした場合,または起動に失敗した場合,プロセスサービスがOpenTP1監視サービスを再起動します。

一度のオンライン中に,再起動は30回まで行います。KFCA33314-Wメッセージが出力された場合,OpenTP1監視機能が無効になっているので,OpenTP1を再起動してください。

また,KFCA33310-Wメッセージ出力後にKFCA33311-Iメッセージが出力されていない場合,OpenTP1監視サービスの再起動に失敗していることが考えられます。

この場合もOpenTP1監視機能が無効になっているので,OpenTP1を再起動してください。

なお,OpenTP1監視サービス(dcmond)のプロセスが不当に残っていることが考えられます。

そのため,psコマンドを実行し,KFCA33310-Wメッセージ内で表示されている環境変数DCDIRの設定値およびPIDの値と一致するプロセスが存在するか確認してください。

存在する場合はkillコマンドを実行し,そのプロセスを終了させてください。