BMP restart after system failure
IMS does not automatically restart BMPs after a system failure. You must start them yourself after IMS has completed its restart processing. The way in which you restart a BMP depends on whether its last checkpoint records exist in the OLDS.
When the last checkpoint records are in the OLDS, you can specify one of four values during restart:
- The 8-byte checkpoint ID
- The 14-byte time stamp ID IIIIDDDHHMMSSTHMIJU+0000 from message DFS0540I,
where:
- IIII is the region ID
- DDD is the day of the year
- HHMMSSTHMIJU+0000 is the time in hours, minutes, seconds, and tenths, hundredths, thousandths, ten-thousandths, hundred-thousandths, and millionths of a second, plus the local time zone offset
- The value LAST
Specify this value as an EXEC parameter. When you specify LAST, you must not change the BMP's job name, PSB name, or program name; IMS uses these names to locate checkpoint information for the BMP.
Restarting a BMP using XRST
- The BMP is restarted with the same job name, the same PSB, and the same program name used when it ended abnormally.
- The BMP restarts on the same IMS system that it ended abnormally on, and this system was not cold-started after the BMP abend occurred.
- If the restart checkpoint is no longer available on an OLDS data set, the SLDSREAD Logger function must be available . In this case, the checkpoint is on an archived SLDS data set.
If these requirements are met, an IMSLOGR DD statement that points to the log data set is not required. Coding an IMSLOGR DD statement and using IMS automatic checkpoint location are mutually exclusive processes. If an IMSLOGR DD statement is specified, IMS does not use the automated process to locate the checkpoint, but only searches the IMSLOGR concatenation. If the required checkpoint is not found in the concatenation, the BMP ends abnormally with abend code U0102.
If the program issued XRST and CHKP calls, you can restart it from the last checkpoint by specifying the checkpoint ID in the JCL and supplying, as input, the SLDS created in the program's previous execution.