z/OS DFSMSdfp Checkpoint/Restart
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


How Checkpoint Entries Are Identified

z/OS DFSMSdfp Checkpoint/Restart
SC23-6862-00

The number of checkpoint entries, as well as the number of checkpoint data sets used concurrently, is unlimited. In a sequential checkpoint data set, checkids of valid or invalid checkpoint entries in one data set should be unique. In a PDS, checkids of valid entries should be unique.

If you specify checkids instead of having the system generate them, incorrect duplicates might be specified. The system cannot recognize the error of duplicate checkids. When deferred restart at a checkpoint occurs and the checkpoint data set is sequential, the system searches the data set from its beginning for the specified checkpoint entry. The system uses the first entry that it finds which has the specified checkid.

If the data set is partitioned, the system searches the directory to find the location of the specified checkpoint entry. If two or more entries having the same checkid were written in the data set, the most recent of those entries is the one pointed to by the directory, and restart occurs from the most recent entry.

Checkpoint entries have two identifications: primary and secondary.
  • The primary identification is the programmer-generated or system-generated checkid specified or requested by the CHKPT macro instruction. The primary identification is used when a search is made for a checkpoint entry.
  • The secondary identification is identical to the system-generated checkid that might have been requested by CHKPT. The secondary identification is then used as a base to compute the system-generated checkids of entries written after restart has occurred.

The control program identifies each checkpoint in a message to the operator and user. On request, the control program also makes the identification available to your program. In Figure 1, the CHKPT macro instruction requests the control program to supply an identification (‘S’ parameter) and place it in the 8-byte field named ID. When the checkpoint is successfully taken, the program prints the identification as part of a message to the programmer.

Figure 1. Recording a Checkpoint Identification Assigned by the Control Program
         .
         .
         .
         CHKPT CHKDCB,ID,'S'    Take checkpoint
         LTR   15,15            Was checkpoint taken
         BNZ   PHASE2           No, branch to PHASE2
         PUT   STEPLOG,MESSAGE  Yes, print
*                               checkpoint ID
PHASE2
         .
         .
         .
MESSAGE  DS    0F
         DC    H'44'            Record length
         DC    H'0'             Flags
         DC    C'SUCCESSFUL CHKPT AT PHASE2...ID='
ID       DS    CL8
STEPLOG  DCB   DSORG=PS,MACRF=(PM),RECFM=V,LRECL=124,DDNAME=LOGDD
CHKDCB   DCB   DSORG=PS,MACRF=(W),RECFM=U,DDNAME=CHKDD

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014