11.1.4 サーバ間排他/共用制御機能の適用範囲
BJEXの排他/共用制御機能と同様に,ジョブで割り当てるファイルおよびディレクトリに対してサーバ間排他/共用制御を指定する場合,次の表に示すとおり,DD要素のDISP属性値により,排他要求または共用要求のどちらかの指示となる。
|
DISP属性値 |
排他/共用 |
|---|---|
|
MOD |
排他要求 |
|
NEW |
排他要求 |
|
OLD |
排他要求 |
|
RNW |
排他要求 |
|
SHR |
共用要求※ |
注※ DISP属性値の指定で,第2または第3パラメータにDELETEを指定している場合(DISP="SHR,DELETE",DISP="SHR,,DELETE"など)は,排他要求と見なす。
BJEXの排他/共用制御機能と同様に,同一ジョブ内に,同一ファイルおよび同一ディレクトリを指定し,それぞれのDISP属性値で排他または共用要求をしている場合,排他要求を優先する。
サーバ間排他/共用制御は,バッチジョブ実行システムから起動したジョブごとに行われる。ただし,DD要素に指定したもの以外は,サーバ間排他/共用制御の対象とはならない。
サーバ間排他/共用制御では,DD要素のTYPE属性に指定したファイルおよびディレクトリが対象となるが,サーバ間での排他/共用制御が不要なものは対象外とする。
TYPE属性値ごとの排他/共用制御の適用可否を次の表に示す。
- (凡例)
-
○:サーバ間排他/共用制御に適用できることを示す。
×:サーバ間排他/共用制御に適用できないことを示す。
注※ 世代ファイルは,世代データ群単位のサーバ間排他/共用制御となる。
指定例を次に示す。
バッチサーバ1で実行するジョブの指定例:
<?xml version="1.0" encoding="Shift-JIS" ?> <HitachiBatchJobExec version="1.3" os="unix" > <JOB NAME="BJEXEE_JOB001"> <STEP NAME="STEP00001"> <EXEC PGM="PGM001"/> <DD NAME="DD0001" TYPE="FILE" DSN="FILE1" DISP="OLD" /> …(1) </STEP> <STEP NAME="STEP00002"> <EXEC PGM="PGM002"/> <DD NAME="DD0002" TYPE="FILE" DSN="FILE1" DISP="SHR" /> …(2) </STEP> </JOB> </HitachiBatchJobExec>
バッチサーバ2で実行するジョブの指定例:
<?xml version="1.0" encoding="Shift-JIS" ?> <HitachiBatchJobExec version="1.3" os="unix" > <JOB NAME="BJEXEE_JOB001"> <STEP NAME="STEP00001"> <EXEC PGM="PGM001"/> <DD NAME="DD0001" TYPE="FILE" DSN="FILE1" DISP="OLD" /> …(3) </STEP> </JOB> </HitachiBatchJobExec>
バッチサーバ1の(1)と(2)では同一ファイル名を指定しているが,DISP属性値の指定が"OLD"と"SHR"で異なる指定となっている。この場合の排他/共用制御は,"排他要求"を優先するためファイル"FILE1"は排他要求となる。また,バッチサーバ2の(3)ではDISP属性値が"OLD"のため,"FILE1"を排他要求する。以上のことから,バッチサーバ1のジョブ実行中にバッチサーバ2のジョブを実行した場合,サーバ間排他/共用制御によって,バッチサーバ2のジョブはバッチサーバ1のジョブが終了するまで待たされる。