第 4 章 ジョブをスケジュールする
4.1 ジョブのスケジュールに必要な知識
- JCLファイル(注1)
- コマンド
- Systemwalkerスクリプト(注1)
- ワークユニット(注2) 注1)
実行属性が“ジョブ実行制御”の場合のみ実行可能です。
注2)
実行属性が“PowerAIM”または“Interstage”の場合のみ実行可能です。
・ 以下のジョブはジョブ実行制御で実行できないため、登録できません。
- ウィンドウ系のコマンド
- 対話型のコマンド
- 入力要求を行うコマンドまたはシェルスクリプト
・ 接続先が、Solaris版 Systemwalker Operation Manager Global Enterprise Editionの場合、グローバルサーバ上の ジョブをジョブスケジューラに登録できますが、以下に示すグローバルサーバ上のジョブは登録できません。
- マルチクラスタ環境において、特定の実行クラスタを指定したグローバルサーバジョブ
- 1つのJCL(ジョブ制御言語)に複数定義したグローバルサーバジョブ
- XEQ文、XMIT文を使用して他ノードへ転送するグローバルサーバジョブ
4.1.4 実行属性と登録できるジョブについて
ジョブネットの実行属性によって、ジョブネットに登録できるジョブと登録できないジョブがあります。以下に実行属性と登 録できるジョブを示します。
・ “ジョブ実行制御”属性の場合
- 【Windows版】
Oracle E-Business Suite のコンカレントプログラムとバッチフレームワークジョブを除くすべてのジョブ
備考1.R/3は“Systemwalker for ERPパッケージ ジョブ連携”のSAP R/3 ジョブ連携機能が導入されている場
合のみ登録可能です。
備考2.GLOVIA-Cは、接続先のサーバがWindowsNT(R)で、依頼先ホストにGLOVIAが導入されている場合
のみ登録可能です。
- 【UNIX版】
コマンド実行、サービス開始、サービス停止、メッセージ事象発生、ファイル状態確認、バックアップ連携、クライ アントアプリケーション起動、クライアントファイル圧縮/伸長、クライアントファイル操作(ファイル名変更/ファイル削 除/ディレクトリ作成/ディレクトリ削除)、クライアントファイル転送、サーバアプリケーション起動、サーバファイル圧 縮/伸長、サーバファイル操作(ファイル名変更/ファイル削除/ディレクトリ作成/ディレクトリ削除)、サーバファイル 転送、クライアント電源切断、クライアント電源投入、R/3(注1)、Oracle E-Business Suite(注4)、バッチフレーム ワークジョブ(注2)、グローバルサーバジョブ(注3)
注1)
R/3は、“Systemwalker for ERPパッケージ ジョブ連携” のSAP R/3 ジョブ連携機能が導入されている場合 のみ登録可能です。
注2)
注3)
グローバルサーバジョブはSystemwalker Operation Manager GEEが導入されている場合のみ登録可能で す。
注4)
Oracle E-Business Suiteは、“Systemwalker for ERPパッケージジョブ連携”のOracle E-Business Suite ジョ ブ連携機能が導入されている場合のみ登録可能です。
・ “PowerAIM”属性の場合【UNIX版】
PowerAIMのワークユニット
・ “旧バージョン互換(旧・標準)”属性の場合【UNIX版】
コマンド実行、サービス開始、サービス停止、メッセージ事象発生、ファイル状態確認、バックアップ連携
・ “Interstage”属性の場合
Interstageのワークユニット
なお、各実行属性について詳細は、“Systemwalker Operation Manager 解説書”を参照してください。
4.1.5 ジョブネットの階層化について
ジョブネットの中にジョブとして別のジョブネットを登録することができます。ジョブネットの中にジョブネットを登録すること を“ジョブネットの階層化”と呼びます。別のジョブネットを登録しているジョブネットを“親ジョブネット”、ジョブネットに登録 されているジョブネットを“子ジョブネット”と呼びます。
また、階層化されているジョブネットにおいて、階層の深さを“第N階層”と表現します。ジョブネットは、第5階層まで階 層化することができます。
1階層ごとに登録できるジョブの数には制限があります。制限値について詳細は、“Systemwalker Operation Manager 解 説書”の“ジョブのスケジューリングに関する制限値”を参照してください。
子ジョブネットに起動日を設定することにより、運用日ごとにジョブネットの構成を変更することができます。子ジョブネット に起動日を設定するには、通常のジョブネットに起動日を設定する手順に加えて、[登録-ジョブ]ウィンドウの[制御情 報]シートで、[起動日のみ有効]を指定する必要があります。設定手順の詳細は、は、“4.2.2 ジョブネットを登録する”お
よび“4.2.3 ジョブを登録する”を参照してください。
ジョブネットの階層化手順
ジョブネットの階層化は、以下のように行います。
ジョブネットを階層化するにあたって、親ジョブネット/子ジョブネットがそれぞれ以下の条件を満たしていることが必要で す。
親ジョブネットとなるための条件
親ジョブネットになれるのは、以下の条件を満たすジョブネットです。
・ 実行属性がジョブ実行制御属性である。
子ジョブネットとなるための条件
子ジョブネットとして登録できるのは、以下の条件をすべて満たすジョブネットです。
・ 親ジョブネットと同一プロジェクトである。
・ 実行属性がジョブ実行制御属性である。
・ 起動条件に[なし]が設定されているジョブネットである。
・ 他のジョブネットの子ジョブネットとなっていない。
4.1.6 グループに登録できるジョブネットの条件について
グループに登録することができるのは、以下の条件をすべて満たすジョブネットです。
・ グループと同一プロジェクトである。
・ [起動条件]が設定されている。さらに、その起動条件が[時刻起動]で、登録している起動時刻が1つだけ(一日一回 起動)である。
・ メッセージ事象の起動条件として[ジョブネット実行中も有効]が指定されていない。
・ グループ内に同一のジョブネットが存在しない(1つのグループに同一のジョブネットを複数登録することはできませ ん)。
・ 他のグループに登録されていない。
参考
・ グループに対して“起動”操作を実施した場合、グループに登録されたジョブネットは、メッセージ事象の発生や起動 時刻の到来を待たずに起動されます。“14.1.6 グループの操作と動作”を併せて参照してください。
・ グループ内の先行ジョブネットのあるジョブネットが[起動時刻有効]となっている場合、[メッセージ]シートの[起動時 刻の到来を待つ]の指定にかかわらず、先行ジョブネットの正常終了、およびメッセージ事象の発生と起動予定時刻 の到来を待ち合わせます。“4.3.1 グループを登録する場合”を併せて参照してください。
4.1.7 先行ジョブの終了コードによる後続ジョブの切分けについて
先行ジョブが正常終了または疑似正常で終了した場合、先行ジョブの終了コードの値によって、後続ジョブをどのように 起動させるか切り分けることができます。ジョブの起動の切分けは起動条件となる終了コードの範囲を、後続ジョブ側で 指定します。
1つの先行ジョブに対し、複数の後続ジョブを指定することはできますが、後続ジョブ側から見た先行ジョブは1つだけ に限ります。1つの先行ジョブに対し、複数の後続ジョブを指定した場合、先行ジョブが正常または疑似正常終了すると、
先行ジョブの終了コードにより、条件に当てはまるすべての後続ジョブが起動されます。また、該当するジョブがない場合 は、いずれも起動されません。
[ジョブネットの新規作成/変更/リカバリ変更]ウィンドウでは、先行ジョブの終了コードによる起動条件が指定されている ジョブの場合、先行ジョブとの接続線(矢印)が青色で表示されます。
[ジョブネットの監視]ウィンドウでは、先行ジョブの終了コードによる起動条件が指定されているジョブの場合、実際に起 動されたジョブの経路は先行ジョブとの接続線(矢印)が青色で表示されます。また、起動されなかったジョブの経路は先 行ジョブとの接続線(矢印)がグレーで表示され、アイコンが薄い色のイメージに変わり、枠はドット円で表示されます。
このように、条件に該当しないために、起動されなかったジョブの状態をパス状態と呼びます。パス状態のジョブが実行 されないまま残っていても、パス状態以外のジョブが正常終了した場合、ジョブネットは正常終了となります。
1. ジョブAが終了コード10で正常終了すると、起動条件として10以下が設定されているジョブBが実行されます。
ジョブCは、起動条件に当てはまらないためにパス状態になり、ジョブCの正常終了のみを待ち合わせているジョブ Eも自動的にパス状態となります。これにより、ジョブFはジョブDの正常終了だけを待ち合わせることになります。
2. ジョブBが正常終了するとジョブDが実行されます。
3. ジョブDが正常終了するとジョブFが実行されます。
4. ジョブFが終了コード5で正常終了すると、ジョブGもジョブHも実行条件を満たしていないため、パス状態とな り、ジョブIも先行ジョブがすべてパス状態のために同様にパス状態になります。パス状態のジョブが残っていて も、ジョブFが正常終了すると、ジョブネットは正常終了します。
4.1.8 リカバリジョブについて
ジョブとしてリカバリジョブを登録することができます。リカバリジョブとは、ジョブが異常終了した時に起動されるジョブのこ とです。
リカバリジョブには、異常時の対処などを行う実行ファイルを登録します。1つのジョブに接続できるリカバリジョブは1つ だけです。リカバリジョブは、複数の先行ジョブを接続することはできません。またリカバリジョブの後ろには、通常のジョ ブは接続できません。リカバリジョブが正常終了した場合、異常終了した元のジョブを再び起動させることができます。以 下のような構成のジョブネット(イメージ図)を例に、リカバリジョブの動きについて説明します。
1. ジョブBが異常終了すると、リカバリジョブDが実行されます。
2. リカバリジョブDが正常終了すると、元のジョブを再起動する指定がある場合に元のジョブBが1回だけ再起動さ れます。
3. 元のジョブBが正常終了した場合、後続のジョブCが実行されます。
4. 後続ジョブCが正常終了すると、ジョブネットは正常終了します。
なお、以下のいずれかの場合、ジョブネットは異常終了になります。
・ リカバリジョブDが異常終了した
・ リカバリジョブDに元のジョブBを再起動する指定がない
・ リカバリジョブDにジョブBを再起動する指定があるが、リカバリジョブDが正常終了し、ジョブBが再起動後再び 異常終了した