バッチ・プログラムの再始動
データを更新するバッチプログラムを再起動するには、まず IMS バッチバックアウトユーティリティを実行し、最後に正常にチェックポイント ID を示した再起動ジョブを実行します。
このタスクについて
最後に成功したチェックポイントを見つけるためのガイドラインについては、「DL/I バッチチェックポイントIDの検索」 を参照してください。
例
- 例: JCL を使ったバッチ・チェックアウト
- 以下に示したスケルトン JCL 例は、PSB=IVP8CA と指定したときのバッチ・バックアウトの例です。
//ISOCS04 JOB 3000,ISOIR,MSGLEVEL=(1,1),NOTIFY=ISOIR, // MSGCLASS=T,CLASS=A //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //* * //* BACKOUT TO LAST CHKPT. * //* IF RC=0028 LOG WITH NO-UPDATE * //* * //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * //BACKOUT EXEC PGM=DFSRRC00, // PARM='DLI,DFSBBO00,IVP8CA,,,,,,,,,,,Y,N,,Y', // REGION=2600K,COND=EVEN | //* ---> DBRC ON //STEPLIB DD DSN=IMS.RESLIB,DISP=SHR //IMS DD DSN=IMS.PSBLIB,DISP=SHR // DD DSN=IMS.DBDLIB,DISP=SHR //* //* IMSLOGR DD data set is required //* IEFRDER DD data set is required //DFSVSAMP DD * OPTIONS,LTWA=YES 2048,7 1024,7 /* //SYSIN DD DUMMY /* - 例: JCL を使ったDL/I バッチ・ジョブの再始動
- 運用手順では、 IMS XRST とシンボリック CHKP コールを使用して、アプリケーションプログラムの DL/I バッチジョブステップを再起動することができます。
BMP アプリケーション・プログラムは、Db2DL/I バッチ環境では再始動できません。 シンボリックチェックポイントレコードがアクセスされないため、 IMS ユーザーが異常終了する U0102。
異常終了または早期終了したバッチジョブを再起動するには、 z/OS® システムログまたはエラーが発生したジョブのSYSOUTリストから、そのジョブのチェックポイントIDを見つけます。 ジョブ・ステップを再始動する前に、DLIBATCH プロシージャー で CKPTID=value として指定したオプションにチェックポイント ID を 入れて、ジョブを渡してください。 デフォルトの接続名が使用されている場合は (つまり、接続名オプション が DDITV02 入力データ・セットに指定されていない場合)、再始動ジョブの ジョブ名は、問題を起こしたジョブと同じ名前にしなければなりません。 以下のスケルトン例を見てください。 そこでは、最後のチェックポイント ID 値は IVP80002 になっています。//ISOCS04 JOB 3000,OJALA,MSGLEVEL=(1,1),NOTIFY=OJALA, // MSGCLASS=T,CLASS=A //* ****************************************************************** //* //* THE FOLLOWING STEP RESTARTS COBOL PROGRAM IVP8CP22, WHICH UPDATES //* BOTH DB2 AND DL/I DATABASES, FROM CKPTID=IVP80002. //* //* ****************************************************************** //RSTRT EXEC DLIBATCH,DBRC=Y,COND=EVEN,LOGT=SYSDA, // MBR=DSNMTV01,PSB=IVP8CA,BKO=Y,IRLM=N,CKPTID=IVP80002 //G.STEPLIB DD // DD // DD DSN=prefix.SDSNLOAD,DISP=SHR // DD DSN=prefix.RUNLIB.LOAD,DISP=SHR // DD DSN=SYS1.COB2LIB,DISP=SHR // DD DSN=IMS.PGMLIB,DISP=SHR //* other program libraries //* G.IEFRDER data set required //* G.IMSLOGR data set required //G.DDOTV02 DD DSN=&TEMP2,DISP=(NEW,PASS,DELETE), // SPACE=(TRK,(1,1),RLSE),UNIT=SYSDA, // DCB=(RECFM=VB,BLKSIZE=4096,LRECL=4092) //G.DDITV02 DD * DB2X,SYS1,DSNMIN10,,A,-,BATCH001,,IVP8CP22 /* //*************************************************************** //*** ALWAYS ATTEMPT TO PRINT OUT THE DDOTV02 DATA SET *** //*************************************************************** //STEP8 EXEC PGM=DFSERA10,COND=EVEN //STEPLIB DD DSN=IMS.RESLIB,DISP=SHR //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSNAME=&TEMP2,DISP=(OLD,DELETE) //SYSIN DD * CONTROL CNTL K=000,H=8000 OPTION PRINT /* //