ジョブを投入したが、ジョブが実行中に遷移しない場合の対処を説明します。
運用者は、btfwjobinfoコマンドで実行開始遅延しているジョブのジョブキュー名、ジョブ名、ジョブ番号を確認します。
運用者はジョブが実行開始遅延していることと、上記で確認したジョブ情報をシステム管理者に連絡し、調査を依頼します。
btfwjobinfoコマンドについては、“Interstage Job Workload Server リファレンス”を参照してください。
システム管理者は以下の手順で原因を調査します。
ジョブの実行環境が正常に運用開始されているか
対象のジョブキュー内の実行中ジョブに異常はないか
また、以下の場合を確認して対処します。
カスケードジョブの場合
■ジョブの実行環境が正常に運用開始されているか
システム管理者は、対象のジョブキューに対して、btfwqinfoコマンドの詳細表示を行い、「ジョブキューの現在有効となっているジョブの多重度」(Current)が”0”になっていないか確認します。
btfwqinfoコマンドについては、“Interstage Job Workload Server リファレンス”を参照してください。
”0”になっていた場合
以下のことが考えられます。
対象のジョブの実行環境を運用開始していない
対象のジョブの実行環境を運用開始していなかった場合には、“2.1.3 ジョブの実行環境単位の運用開始”の手順に従って運用を開始してください。
対象のジョブの実行環境が異常停止している
対象のジョブの実行環境が異常停止していた場合には、“3.3.1 ジョブの実行環境が異常停止した場合”の手順に従って対処およびジョブの実行環境の再開を行ってください。
”0”になっていなかった場合
対象のジョブキューの状態が、実行禁止状態になっていることが考えられます。
対象のジョブキューの状態が実行禁止状態になっているか、btfwqinfoコマンドで対象のジョブキューの状態を確認します。
実行禁止状態だった場合には、btfwactqコマンドで実行可能状態にします。
btfwactqコマンドについては、“Interstage Job Workload Server リファレンス”を参照してください。
実行可能状態だった場合には、ジョブの実行環境は正常に稼働しているため、対象ジョブキュー内の実行中ジョブの異常がないか確認します。
■ジョブキュー内の実行中ジョブに異常はないか
システム管理者は以下の手順で、ジョブキュー内の実行中ジョブの確認を行います。
btfwjobinfoコマンドで対象のジョブキューの実行中ジョブの一覧を表示します。
実行中ジョブごとに、btfwjobinfoコマンドの詳細情報を表示し、「ジョブの実行開始日時」を確認します。
確認した結果、長い時間実行しているジョブを中心に、異常(無限ループなど)が発生していないことを対象ジョブの運用者に確認します。
無限ループなどの原因により対象のジョブキューが特定のジョブに占有されている場合は、対象ジョブの運用者にキャンセルするなどの対処を依頼してください。
システム管理者は、運用者より依頼された対象ジョブの以下の情報を収集します。
対象ジョブが実行待ちの何番目にキューイングされているか
情報を収集するには、btfwjobinfoコマンドで対象のジョブキューのジョブの一覧を表示し、以下の項目を確認します。
Priority(実行優先順位)
SubmitTime(ジョブ投入日時)
Priority(実行優先度)の値が高いジョブほど優先的に実行されます。また、同じPriority(実行優先度)の場合には、SubmitTime(ジョブ投入日時)の早いジョブが優先的に実行されます。
この結果を運用者に連絡し、実行されるまで待つよう指示します。
ジョブキュー内の実行中ジョブの確認において、実行中ジョブに異常が発生していない状態で、大量のジョブが実行待ちでキューイングされている場合には、恒久的な問題があるため“恒久的な問題の確認と対処”を行ってください。
恒久的な問題については、対象ジョブキューに対して前回の“付録A 実行履歴ログ”より以下について確認してください。
ジョブの投入数が増えていないか
ジョブの実行遅延が発生していないか
一般的な原因としては、バッチ業務追加や変更により、ジョブ数、データ量が増加した影響が考えられます。
前回実績との確認方法は、問題が発生していない日と発生した日の“付録A 実行履歴ログ”をもとに、問題発生した時間帯付近を比較して、投入ジョブ数、実行ジョブ名、各ジョブの実行時間など違いを確認してください。
違いがあった場合には、原因を調査し対象ジョブキューに関連する、バッチシステム環境の設定の見直しを行い、必要があれば“4.8 バッチサーバ環境の変更”を行ってください。
■カスケードジョブの場合
カスケードジョブが動作する予定のジョブキューが、他のジョブの動作中でプロセスを使用しているためにカスケード結合数分の空いているプロセスが確保できないことが考えられます。
ジョブ情報の表示、イニシエータの状態表示、およびジョブキュー情報の表示を行い、空きプロセス数を確認してください。
カスケード結合数は、カスケード開始節が指定されたジョブステップと、カスケード終了節が指定されたジョブステップを含む、カスケード節のジョブステップの数です。
btfwjobinfoコマンドでジョブ情報の表示を行います。
カスケードモードで動作しているジョブのジョブ情報の表示は以下のように出力されます。
カスケードモードで動作しているジョブ情報の表示は実行中のジョブステップの情報が追加して出力されます。
カスケードモードで動作しているジョブ情報の表示に以下の“ジョブの詳細情報”が通常の表示項目に追加されて出力されます。
表示項目 | 内容 |
---|---|
Process Number | ジョブを実行しているプロセス数です。稼働状態ではない場合は“-”を1文字表示します。 |
btfwiniinfoコマンドで“-m”オプションを指定して、イニシエータの状態表示を行います。
通常のジョブは、1つのジョブに対して1つのアプリケーションプロセスで実行されますが、カスケードモードの場合、1つのジョブに対して、複数のアプリケーションプロセスで実行されます。
ジョブ数がアプリケーションプロセス数と同等の意味にならないため、イニシエータ一覧情報、および、イニシエータ詳細情報の表示項目には、実行中のプロセス数を意味する以下の項目が出力されます。
表示項目 | 内容 |
---|---|
NumberOfProcesses | イニシエータで実行中のプロセス数です。稼働状態ではない場合は“-”を1文字表示します。 |
表示項目 | 内容 |
---|---|
Number of Processes | イニシエータで実行中のプロセス数です。稼働状態ではない場合は“-”を1文字表示します。 |
btfwqinfoコマンドで“-m”オプションを指定して、ジョブキュー情報の表示を行います。
通常のジョブは、1つのジョブに対して1つのアプリケーションプロセスで実行されますが、カスケードモードの場合、1つのジョブに対して、複数のアプリケーションプロセスで実行されます。ジョブ数がアプリケーションプロセス数と同等の意味にならないため、ジョブキュー詳細情報の表示項目に実行中のプロセス数を意味する以下の項目が出力されます。
表示項目 | 内容 |
---|---|
[Number of Processes] | 実行プロセス数です。ただし、バッチワークユニットが停止、または、イニシエータが停止している場合、“-”を1文字表示します。 |
ジョブキューに、実行しようとしているカスケードジョブで必要なプロセス数の空きがなかった場合は、実行中のジョブの終了を待つか、カスケードジョブステップ数を減らすか、ジョブキューのジョブの多重度を見直してください。ジョブキューの設計については、“Interstage Job Workload Server セットアップガイド”を参照してください。
btfwjobinfoコマンド、btfwiniinfoコマンドおよびbtfwqinfoコマンドについては、“Interstage Job Workload Server リファレンス”を参照してください。