ジョブの実行環境内で致命的な異常が発生した場合や、外的要因などにより、1つのジョブの実行環境だけが停止する場合があります。
ジョブの実行環境が停止すると、対象のジョブキューからジョブの実行ができなくなります。
バッチ業務運用中に、ジョブの実行環境が停止した場合の対処と再開方法を説明します。
ジョブの実行環境の停止の確認
ジョブの実行環境が異常停止する要因として以下が考えられます。
イベントチャネルの異常/停止操作
バッチワークユニットの異常/停止操作
イニシエータの異常
イベントチャネル(メッセージ番号がesで始まるメッセージ)、またはバッチワークユニット(メッセージ番号がEXTPやtdで始まるエラーメッセージ)のエラーメッセージとともに、異常の原因となった部分のエラーメッセージがシステムログ(Windows(R)の場合はイベントログ)に出力されます。
イニシエータが異常停止した場合、即座にエラーメッセージが出力されない場合がありますが、ジョブの実行開始や終了、ジョブステップの開始や終了などで、エラーメッセージが出力されます。
イベントチャネルを停止操作した場合、バッチワークユニットのエラーメッセージや、BTFW54017のメッセージがシステムログ(Windows(R)の場合はイベントログ)に出力されます。
バッチワークユニットを停止/強制停止操作をした場合には、BTFW54017のメッセージがシステムログ(Windows(R)の場合はイベントログ)に出力されます。
イベントチャネル(メッセージ番号がesで始まるメッセージ)、バッチワークユニット(メッセージ番号がEXTPやtdで始まるエラーメッセージ)のエラーメッセージについては、“Interstage Application Server メッセージ集”を参照してください。
イニシエータのエラーメッセージについては、“Interstage Job Workload Server メッセージ集”の“BTFW50000番台”を参照してください。
出力されたエラーメッセージの情報には、異常が発生したイベントチャネル、バッチワークユニット、またはイニシエータの名前が出力されます。
停止や強制停止時のメッセージには、対象のイベントチャネル、バッチワークユニット、またはイニシエータの名前が出力されます。
イベントチャネルやバッチワークユニットの名前の先頭には、イニシエータ名が付いているので、その情報をもとに、対象のイニシエータを明確にしてください。
定義済のすべてのイニシエータの状態を表示し、対象のイニシエータの状態を確認してください。
イニシエータの状態により対処と再開手順は異なります。
定義済のすべてのイニシエータの状態表示をするには、以下のコマンドで行います。
btfwiniinfo |
btfwiniinfoコマンドの詳細は、“Interstage Job Workload Server リファレンス”を参照してください。
イニシエータの状態情報の表示例を、以下に示します。
InitiatorName State NumberOfJobs MaxJob --------------------------------------------------------------------------------- que001 active 0 20 que002 inactive - 0 |
イニシエータの状態情報より、”State” が ”active” 以外になっており、”NumberOfJobs”が ”-“(*)になっていることを確認してください。
*イニシエータが稼動状態ではない場合は"-"と表示します。
イニシエータが稼働状態ではない場合は、以下の手順で対処とバッチシステムの運用を再開してください。
すべてのジョブキューを実行禁止状態にする
すべてのジョブキューを実行禁止状態にしてください。
すべてのジョブキューを実行禁止状態にする、btfwinactqコマンドの形式を以下に示します。
btfwinactq -a |
btfwinactqコマンドの詳細は、“Interstage Job Workload Server リファレンス”を参照してください。
実行中のジョブの終了を待つ
ジョブキューの状態を表示して、異常が発生したジョブの実行環境で実行中のジョブを除いた、すべての実行中のジョブが終了していることを、“2.1.2.1 ジョブの稼働状態確認”の手順に従って確認してください。
バッチ受付サービスの強制停止
“3.6.1.1 バッチ受付サービスの強制停止”の手順に従って停止してください。
バッチ実行サービスの強制停止
“3.6.1.2 バッチ実行サービスの強制停止”の手順に従って停止してください。
バッチワークユニットの強制停止
すべてのバッチワークユニットを強制停止してください。
|
バッチワークユニットの強制停止をする、isstopwuコマンドの形式を以下に示します。
isstopwu -c ワークユニット名 |
ワークユニット名は、“ジョブキュー名_CWU”です。
ジョブキュー名は、バッチ実行基盤で使用しているジョブキュー名です。
isstopwuコマンドの詳細は、“Interstage Application Server リファレンスマニュアル (コマンド編)”を参照してください。
イベントチャネルの停止
すべてのイベントチャネルを停止してください。
|
イベントチャネルの停止は、イベントチャネルグループ単位に行います。
ジョブステップ用イベントチャネル、エラー用イベントチャネル、およびジョブ終了用イベントチャネルは、1つのイベントチャネルグループ内に存在するため、1回で3つのイベントチャネルが停止されます。
イベントチャネルを停止する、esstopchnlコマンドの形式を以下に示します。
esstopchnl -g イベントチャネルグループ名 -o off |
イベントチャネルグループ名は、“ジョブキュー名_ChannelGR”です。
ジョブキュー名は、バッチ実行基盤で使用しているジョブキュー名です。
ジョブキュー名に英大文字を利用している場合は、ジョブキュー名にあたる部分については、英小文字で指定してください。
例えば、ジョブキュー名が“JOBQ001”の場合、“jobq001_ChannelGR”のように指定します。
esstopchnlコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
エラーの対処
イベントチャネル、バッチワークユニット、またはイニシエータの出力したエラーメッセージの対処を行ってください。
以下の場合に、本手順でバッチワークユニットを起動すると、エラーメッセージ“EXTP4363”が出力される場合があります。この場合、ユーティリティ種別のジョブステップのアプリケーションプロセスが残存している可能性がありますので手動でそのプロセスを停止する必要があります。
ジョブの実行中に、バッチワークユニットを強制停止した場合
ジョブの実行中に、バッチワークユニットが異常停止した場合
イベントチャネルの起動
イベントチャネルを起動してください。
|
イベントチャネルの起動は、イベントチャネルグループ単位に行います。
ジョブステップ用イベントチャネルと、エラー用イベントチャネル、およびジョブ終了用イベントチャネルは、1つのイベントチャネルグループ内に存在するため、1回で3つのイベントチャネルが起動されます。
イベントチャネルを起動する、esstartchnlコマンドの形式を以下に示します。
esstartchnl -g イベントチャネルグループ名 |
イベントチャネルグループ名は、“ジョブキュー名_ChannelGR”です。
ジョブキュー名は、バッチ実行基盤で使用しているすべてのジョブキュー名です。
ジョブキュー名に英大文字を利用している場合は、ジョブキュー名にあたる部分については、英小文字で指定してください。
例えば、ジョブキュー名が“JOBQ001”の場合、“jobq001_ChannelGR”のように指定します。
esstartchnlコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
バッチワークユニットの起動
バッチワークユニットを起動します。
|
バッチワークユニットの起動を実施する場合は、“2.1.1.3 バッチワークユニットの起動”の手順に従って行ってください。
バッチ実行サービスの開始
“2.1.1.4.1 バッチ実行サービスの開始”の手順に従って行ってください。
バッチ受付サービスの開始
“2.1.1.4.2 バッチ受付サービスの開始”の手順に従って行ってください。
すべてのジョブキューを実行可能状態にする
すべてのジョブキューを実行可能状態にしてください。
すべてのジョブキューを実行可能状態にする、btfwactqコマンドの形式を以下に示します。
btfwactq -a |
btfwactqコマンドの詳細は、“Interstage Job Workload Server リファレンス”を参照してください。
ジョブの実行環境の稼働状態確認
運用を再開するジョブの実行環境の稼働状態を確認します。
ジョブの実行環境の稼働状態の確認は、“2.1.1.5 バッチ実行基盤の稼働状態確認”の手順に従って行ってください。
イニシエータが稼働状態の場合は、以下の流れでの確認と対処が必要です。
以下に示す項目に該当するものがないかどうかを、確認してください。
システムログ(Windows(R)の場合はイベントログ)にESで始まるエラーメッセージが出力されている
“Interstage Application Server トラブルシューティング集”の“イベントサービス運用時の異常”に該当する異常が発生している
ジョブの実行環境で使用するイベントチャネルの状態の確認を行ってください。
ジョブの実行環境で使用するイベントチャネルには以下があります。
資源名 | イベントチャネルグループ名 | イベントチャネル名 |
---|---|---|
ジョブステップ用イベントチャネル | ジョブキュー名_ChannelGR | ジョブキュー名_CSTEPchnl |
エラー用イベントチャネル | ジョブキュー名_ERRORchnl | |
ジョブ終了用イベントチャネル | ジョブキュー名_JobCOMPchnl |
ジョブキュー名は、停止したジョブの実行環境のジョブキュー名です。
イベントチャネルの状態を確認するには、以下のesmonitorコマンドで行います。
esmonitor |
esmonitorコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
イベントチャネルが停止していない場合、以下の対処は必要ありません。次の手順“3.3.1.2.2 バッチワークユニットの状態確認と対処”を実施してください。
イベントチャネルが停止した場合、以下の手順で対処と再開を行ってください。
すべてのジョブキューを実行禁止状態にする
すべてのジョブキューを実行禁止状態にしてください。
すべてのジョブキューを実行禁止状態にする、btfwinactqコマンドの形式を以下に示します。
btfwinactq -a |
btfwinactqコマンドの詳細は、“Interstage Job Workload Server リファレンス”を参照してください。
実行中のジョブの終了を待つ
ジョブキューの状態を表示して、異常が発生したジョブの実行環境で実行中のジョブを除いた、すべての実行中のジョブが終了していることを、“2.1.2.1 ジョブの稼働状態確認”の手順に従って確認してください。
バッチ受付サービスの強制停止
“3.6.1.1 バッチ受付サービスの強制停止”の手順に従って停止してください。
バッチ実行サービスの強制停止
“3.6.1.2 バッチ実行サービスの強制停止”の手順に従って停止してください。
エラーの対処
異常停止したイベントチャネルに対して、対応するエラーメッセージの対処を行ってください。
イベントチャネルの起動
イベントチャネルを起動してください。
|
イベントチャネルの起動は、イベントチャネルグループ単位に行います。
ジョブステップ用イベントチャネルと、エラー用イベントチャネル、およびジョブ終了用イベントチャネルは、1つのイベントチャネルグループ内に存在するため、1回で3つのイベントチャネルが起動されます。
イベントチャネルを起動する、esstartchnlコマンドの形式を以下に示します。
esstartchnl -g イベントチャネルグループ名 |
イベントチャネルグループ名は、“ジョブキュー名_ChannelGR”です。
ジョブキュー名は、バッチ実行基盤で使用しているすべてのジョブキュー名です。
ジョブキュー名に英大文字を利用している場合は、ジョブキュー名にあたる部分については、英小文字で指定してください。
例えば、ジョブキュー名が“JOBQ001”の場合、“jobq001_ChannelGR”のように指定します。
esstartchnlコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
バッチワークユニットの起動
バッチワークユニットを起動します。
|
バッチワークユニットの起動を実施する場合は、“2.1.1.3 バッチワークユニットの起動”の手順に従って行ってください。
バッチ実行サービスの開始
“2.1.1.4.1 バッチ実行サービスの開始”の手順に従って行ってください。
バッチ受付サービスの開始
“2.1.1.4.2 バッチ受付サービスの開始”の手順に従って行ってください。
すべてのジョブキューを実行可能状態にする
すべてのジョブキューを実行可能状態にしてください。
すべてのジョブキューを実行可能状態にする、btfwactqコマンドの形式を以下に示します。
btfwactq -a |
btfwactqコマンドの詳細は、“Interstage Job Workload Server リファレンス”を参照してください。
ジョブの実行環境の稼働状態確認
運用を再開するジョブの実行環境の稼働状態を確認します。
ジョブの実行環境の稼働状態の確認は、“2.1.1.5 バッチ実行基盤の稼働状態確認”の手順に従って行ってください。
イベントチャネルに問題がなかった場合は、バッチワークユニットの対処を行います。
バッチワークユニットのエラーと対処
システムログ(Windows(R)の場合はイベントログ)にバッチワークユニットに対応するエラーメッセージが出力されます。対象のバッチワークユニットに対して、エラーメッセージの対処を行ってください。
バッチワークユニット内の実行プロセスが異常停止した場合や、バッチワークユニットが停止した場合も、その旨のエラーメッセージがシステムログ(Windows(R)の場合はイベントログ)に出力されます。
バッチワークユニットの状態確認
上記の対処を行ったあと、バッチワークユニットの状態が以下の場合は、引き続き対処が必要です。
バッチワークユニットが縮退運用中状態の場合の対処
バッチワークユニットが停止した場合の対処
対象のバッチワークユニットの状態を以下のislistwuコマンドで確認します。
islistwu -a -e |
islistwuコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
バッチワークユニットで異常が発生した場合、バッチワークユニットのプロセス縮退運用有無の設定により、バッチワークユニットの縮退運用になる場合があります。
縮退運用の場合
バッチワークユニット内の1つの実行プロセスが異常停止しても、残りの実行プロセスだけでバッチシステムの運用を継続します。
この場合、ジョブの多重度が1つ落ちた状態で運用を継続します。
たとえば、ジョブの多重度が5の場合、1つの実行プロセスが異常停止すると多重度を4にしてバッチ業務の運用を継続します。
バッチワークユニット内の実行プロセスがすべて異常停止した場合には、バッチワークユニットが停止します。
縮退運用でない場合
バッチワークユニット内の1つの実行プロセスが異常停止しただけで、バッチワークユニットが停止します。
プロセス縮退運用については、“Interstage Job Workload Server セットアップガイド”の“Process Degeneracy:プロセス縮退運用”を参照してください。
バッチワークユニットが縮退運用中状態の場合の対処およびバッチワークユニットが停止した場合の対処について以下に示します。
バッチワークユニットが縮退運用中状態の場合の対処
バッチワークユニットのジョブの多重度の復元を行って対処します。
バッチワークユニットが縮退運用中状態の場合、islistwuコマンドでは対象のバッチワークユニットの”status”が”degenerate”(縮退運用中状態) 表示されます。
縮退運用中状態のバッチワークユニットは、isrecoverwuコマンドにより復元することができます。(ジョブの多重度が元にもどります。)
isrecoverwuコマンドの形式を以下に示します。
isrecoverwu ワークユニット名 |
ワークユニット名は、“ジョブキュー名_CWU”です。
ジョブキュー名 : 縮退運用中状態の実行環境のジョブキュー名です。
isrecoverwuコマンドの詳細は、“Interstage Application Server リファレンスマニュアル (コマンド編)”を参照してください。
バッチワークユニットが停止した場合の対処
対象のバッチワークユニットを起動します。
バッチワークユニットを起動する、isstartwuコマンドの形式を以下に示します。
isstartwu ワークユニット名 |
ワークユニット名は、“ジョブキュー名_CWU”です。
ジョブキュー名 : 停止したジョブの実行環境のジョブキュー名です。
ジョブの実行環境の操作モードを自動モードでセットアップした場合であっても、ここで示す操作は必要です。イニシエータが稼働状態であるためでバッチワークユニットを手動で起動する必要があります。
以下の場合に、本手順でバッチワークユニットを起動すると、エラーメッセージ“FSP_INTS-JOB_BTFW: ERROR: 52999: System error. : DATA1='DiffMsg'”およびこのあとに続く一連のエラーメッセージが出力される場合がありますが、これらのエラーは無視してください。ジョブの実行環境としては問題ありません。
ジョブの実行中に、バッチワークユニットを強制停止した場合
ジョブの実行中に、バッチワークユニットが異常停止した場合
なお、この場合、実行中であったジョブは、終了コードは0x60000999で異常終了します。
以下の場合に、本手順でバッチワークユニットを起動すると、エラーメッセージ“EXTP4363”が出力される場合があります。この場合、ユーティリティ種別のジョブステップのアプリケーションプロセスが残存している可能性がありますので手動でそのプロセスを停止する必要があります。
ジョブの実行中に、バッチワークユニットを強制停止した場合
ジョブの実行中に、バッチワークユニットが異常停止した場合
バッチワークユニットの起動については、“2.1.1.3 バッチワークユニットの起動”を参照してください。
ジョブの実行環境が停止するときに実行中だったジョブの扱いについて説明します。
異常停止した箇所によりジョブの扱いが変わります。
イニシエータが異常停止した場合
イニシエータが停止していない場合
イニシエータが異常停止した場合
バッチ受付サービスが異常停止した場合の “3.3.3.1 ジョブの扱い”と同じです。
運用者は“3.4.1 ジョブが異常終了した場合の対処”の手順に従ってください。
イニシエータが停止していない場合
以下のジョブの種類ごとに説明します。
デマンドジョブ
スケジュールジョブ
デマンドジョブの扱いについて説明します。
実行中だったジョブは、以下のジョブ終了コードで異常終了します。
ジョブ終了コード | 意味 |
0x60000999 | バッチシステムエラー |
“付録B ジョブログ”には実行したところまでのジョブの実行結果が出力されます。
運用者は“3.4.1 ジョブが異常終了した場合の対処”の手順に従ってください。
Systemwalker Operation Managerよりジョブの実行依頼したスケジュールジョブに対するジョブの扱いについて説明します。
実行中だったジョブは、以下のように扱われます。
Systemwalker Operation Managerクライアントの表示 | バッチ実行基盤のジョブの扱い | ||
---|---|---|---|
ジョブの終了コード | 前回履歴 | ジョブ終了コード | ジョブログ |
255 | 出力します | 0x60000999 | 出力します |
Systemwalker Operation Manager クライアントの[前回履歴]シートや、[ジョブの出力情報]ウィンドウによってジョブログを参照することができます。
Systemwalker Operation Manager クライアントについては、“Systemwalker Operation Manager 使用手引書”を参照してください。
“付録B ジョブログ”には実行したところまでのジョブの実行結果が出力されます。
運用者は“3.4.1 ジョブが異常終了した場合の対処”の手順に従ってください。
バッチワークユニットの状態により、ジョブが終了しない場合があります。ジョブが終了しない場合は、“3.4.3 ジョブが実行終了遅延した場合の対処”にしたがって対処してください。