SAP enqueue server と SAP replica server が正しく動作しているかどうかを調べるには、SAP enqueue server リソースタイプの障害モニターは、これらのリソースを定期的に検証します。
検証では、SAP ユーティリティー ensmon を使用して、SAP enqueue server と SAP replica server の健全性を検査します。
# ensmon -H localhost -S port option |
ホストの名前が localhost であることを指定します。
エンキューポートを指定します。
検証で検査するリソースを指定します。このオプションの値は次のとおりです。
1 – SAP enqueue server だけを検査します。
2 – SAP enqueue server と SAP replica server の両方を検査します。
このコマンドがコマンド行で実行されると、リターンコードがコマンド行に返されます。
検証中、障害モニターはまず、option 引数に 2 を設定した ensmon コマンドを実行して、SAP enqueue server と SAP replica server の両方がオンラインであるかどうかを判断します。
# ensmon -H localhost -S port 2 |
このコマンドの結果によって、次のように検証の処理が決まります。
コマンドがタイムアウトした場合、SAP enqueue server 障害モニターはオプションに 1 を設定した ensmon コマンドを実行して、SAP enqueue server だけがオンラインであるかどうかを検査します。
# ensmon -H localhost -S port 1 |
このコマンドがタイムアウトになった場合、SAP enqueue server は部分障害となります。このタイムアウトが検証間隔期間内にもう一度発生すると、フェイルオーバーが発生します。
このコマンドの実行に成功した場合、SAP enqueue server 障害モニターは警告メッセージを記録し、SAP enqueue server はオンラインで、SAP replica server の状態は不明であることを示します。
このコマンドによってシステムエラーが発生した場合、SAP enqueue server は比較的深刻ではない部分障害を生じます。システムエラーが検証間隔期間内にあと 3 回発生すると、フェイルオーバーが発生します。
その他の失敗に対してはすべて、SAP enqueue server がフェイルオーバーを開始します。
このコマンドがタイムアウトにならない場合、検証は、ensmon コマンドからのリターンコードの値を次のように検査します。
リターンコード値 0 は、コマンドが成功し、次の検証まで追加処理は行われないことを示します。
リターンコード値 4 は、エンキューが実行中で複製が構成されており、複製が実行されていないことを示します。検証は、複製が実行されていないことを示す警告メッセージを記録します。
リターンコード値 8 は、エンキューサーバーが実行されておらず、検証によってフェイルオーバーが開始されたことを示します。
リターンコード値 12 は、コマンドのパラメータが無効で、検証によってフェイルオーバーが開始されたことを示します。
すべてのリターンコードは、部分障害として処理されます。このような障害が検証間隔期間内にあと 3 回発生すると、フェイルオーバーが発生します。
タイムアウト回数と検証間隔期間は、SAP enqueue server 障害モニターによって割り当てられます。これらの値は変更できません。