Messages 599702 and 599703 in IDMSDBAN despite no apparent broken chain
search cancel

Messages 599702 and 599703 in IDMSDBAN despite no apparent broken chain

book

Article ID: 49352

calendar_today

Updated On:

Products

IDMS

Issue/Introduction

When an IDMSDBAN report issues 599702 and 599703 messages, this typically means that there are broken chains on the database. This is a form of corruption that will cause UNLOAD/RELOAD or REORG to abend or not function correctly.

However it is possible that there is no apparent broken chain.

Environment

Release: All supported releases.

Cause

The set is CALC, but there is a record in the CALC set that should have targeted to a different page. The set is otherwise in tact from a next and prior pointer perspective.

Resolution

This is an example of what IDMSDBAN output might look like in this situation. For each record occurrence that is on an incorrect page, there will be two pairs of 599702/599703 messages - four in all.

 

599703 - PRIOR LINK NOT FOUND  SET=CALC            START OF LINK  0/75163:18   OWNER IS AT   0/75159:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75163:29   PRIOR IN PFX  0/75163:4

599702 - NEXT LINK NOT FOUND   SET=CALC            START OF LINK  0/75163:18   OWNER IS AT   0/75159:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75163:29   PRIOR IN PFX  0/75163:4

599702 - NEXT LINK NOT FOUND   SET=CALC            START OF LINK  0/75163:4    OWNER IS AT   0/75163:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75163:18   PRIOR IN PFX  0/75163:3

599703 - PRIOR LINK NOT FOUND  SET=CALC            START OF LINK  0/75163:29   OWNER IS AT   0/75163:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75163:19   PRIOR IN PFX  0/75163:18

599702 - NEXT LINK NOT FOUND   SET=CALC            START OF LINK  0/75173:4    OWNER IS AT   0/75170:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75173:0    PRIOR IN PFX  0/75173:3

599703 - PRIOR LINK NOT FOUND  SET=CALC            START OF LINK  0/75173:4    OWNER IS AT   0/75170:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75173:0    PRIOR IN PFX  0/75173:3

599703 - PRIOR LINK NOT FOUND  SET=CALC            START OF LINK  0/75173:0    OWNER IS AT   0/75173:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75173:1    PRIOR IN PFX  0/75173:4

599702 - NEXT LINK NOT FOUND   SET=CALC            START OF LINK  0/75173:3    OWNER IS AT   0/75173:0
                               CHAIN LENGTH  1    LINK POINTS TO  0/75173:4    PRIOR IN PFX  0/75173:2

 

The above IDMSDBAN output is a result of the following conditions in the database.

  1. The record at 75163:18 is on the wrong page and should have targeted to page 75159
  2. The record at 75173:4 is on the wrong page and should have targeted to page 75170
  3. There actually is a correctly located record on page 75170 with the same CALC key as the record at 75173:4.

Note that the incorrectly located record appears once in each of the group of four messages identifying it.

IDMSDBAN calculates the target page of CALC records, and if the result is not the same as the page on whose CALC chain the record resides, then it issues the above messages. Neither CALC set chain is really "broken".

In this case, if RHDCOPTF bit 93 is in use, an UNLOAD/RELOAD should be able to handle the corruption and fix the database as long as there are no correctly located versions of the bad records as described in point 3 above.