OLDS processing

IMS DEDB Fast Recovery determines the last online log data set (OLDS) that was used at the time of IMS failure.

To determine the last OLDS, the DBRC RECON data set is used if DBRC=Y is specified as the EXEC parameter for IMS DEDB Fast Recovery.

If DBRC=N is specified, the determination process varies depending on the AUTO= option. If AUTO=N, the last OLDS is determined by the user response for the message (WTOR) that IMS DEDB Fast Recovery displays. If AUTO=Y, IMS DEDB Fast Recovery reads the first log blocks of all specified OLDSs, sorts the log blocks that were properly read by the order of use, and determines the last and the previous OLDS. This function is called the automatic determination of the last OLDS. The OLDSs can be specified by the DD statements or can be allocated dynamically. That is, the request block created by the DFSMDA macro is registered in the IMS program library. The user must specify this IMS program library in the STEPLIB DD statement along with the load module library of IMS DEDB Fast Recovery.

The selected OLDS is read starting with the first log record. If an error (read error, log record sequence error, log block sequence error, log block time stamp error, or log length error) is found, a switch is made to the other OLDS (for dual data sets) and reading continues. For a single OLDS or if errors were found in both dual data sets and reading cannot be continued, IMS DEDB Fast Recovery examines the surrounding blocks and the WADS blocks to see if the log blocks up to the time of IMS failure have been read. Then it reconstructs the log buffer with the log blocks in WADS if they are not yet written to the last-used OLDS.

While reading the OLDS at the time of IMS failure, IMS DEDB Fast Recovery performs the following tasks according to its log records:
  1. Time stamp verification

    IMS DEDB Fast Recovery compares the time immediately after the start of this utility with the time stamp in the log records. If a newer time stamp is found from a log record, it issues an error message and terminates processing. This verification is to assure that correct log records are used and that the specification of the IMS identifier in the EXEC parameter is correct.

  2. Checkpoint ID table creation

    IMS DEDB Fast Recovery creates a checkpoint ID table from the X'42' log record (checkpoint ID table log record). This table is used to determine the recovery start checkpoint in the checkpoint determination process.

    Related reading: For information about checkpoint determination process, see Checkpoint determination.
  3. OLDS entry table creation

    If DBRC=N, IMS DEDB Fast Recovery creates an OLDS entry table (DSET) from the X'4301' log record (OLDS entry table log record). The table is used to determine the log data sets necessary for running IMS DEDB Fast Recovery when AUTO=Y.

If DBRC=N, AUTO=Y is specified, IMS DEDB Fast Recovery first sorts OLDSs by the order of use, determines the last and the previous OLDSs, and then creates a DSET from the X'4301' log record to determine all necessary OLDSs. At that time, IMS DEDB Fast Recovery generates an OLDS Sort list.

If the X'42' or X'4301' log record is not found in the last or the previous OLDS, the job terminates with a return code of 16. If this occurs, rerun the job with DBRC=N and AUTO=N.

If DBRC=N, AUTO=N is specified, IMS DEDB Fast Recovery:
  • Searches for the X'42' log record until it is found.
  • Determines the log data set by the user's reply to the WTOR message that IMS DEDB Fast Recovery issues.

If DBRC=Y is specified, the last-used OLDS (or SLDS) is determined by DBRC; therefore, IMS DEDB Fast Recovery need not use the X'4301' log record. In this case, IMS DEDB Fast Recovery searches the OLDS and SLDS for the X'42' log record to determine the recovery start checkpoint.