00C90110   

Explanation

The data manager detected an inconsistent data condition. This may be caused by an inconsistency in either the DB2® catalog or the DB2 directory. In this case, the OBD for the requested OBID cannot be located in the database descriptor (DBD). The DBD in storage may be inconsistent. Specifically, the OBDDMAP(OBID) array element should contain an offset into the DBD where the OBD should be located. However, in this case the OBD expected was not at the indicated offset.

To prevent further damage and possible loss of data, the inconsistency must be corrected before any further SQL access is attempted to this database.

System action

A record is written to SYS1.LOGREC, and an SVC dump is requested.

Operator response

Notify the system programmer.

System programmer response

Determine which databases were being used when the error occurred. Prevent further SQL access to the databases. If you suspect an error in DB2, you might need to report the problem. For information about identifying and reporting the problem, see Collecting diagnostic data.

Problem determination

The DBD in use at the time of the abend is inconsistent in storage and may be inconsistent on DASD. Since the nature and extent of the damage done to the DBD is not immediately known, an analysis of the entire DBD must be done.

The inconsistency may be due to:
  • Incomplete recovery of DB2 catalog and/or DB2 directory.
  • Invalid restore of DB2 catalog and/or DB2 directory to a prior point in time.
  • A conditional restart which bypassed recovery of either the DSNDB01.DBD01 page set or the DSNDB06.SYSDBASE page set.
  • A DB2 internal error.
Collect the following diagnostic items:
  • Console output from the system on which the job was run, and a listing of the SYSLOG data set for the period of time that spans the failure.
  • Listing of SYS1.LOGREC data set, obtained by executing IFCEREP1.
  • Unformatted DSN1PRNT output of the DSNDB01.DBD01 page set. Use the method described in Part 5 of Diagnosis Guide and Reference to locate the inconsistent DBD in the DSNDB01.DBD01 page set.
  • The results of the following SQL statements, where dbid is the DBID of the damaged DBD:
    SELECT * FROM SYSIBM.SYSINDEXES 
       WHERE DBID=dbid ORDER BY OBID; 
    SELECT * FROM SYSIBM.SYSINDEXES 
       WHERE DBID=dbid ORDER BY ISOBID;
    SELECT * FROM SYSIBM.SYSTABLES 
       WHERE DBID=dbid ORDER BY OBID;
    SELECT * FROM SYSIBM.SYSTABLESPACE 
       WHERE DBID=dbid ORDER BY OBID;
    SELECT * FROM SYSIBM.SYSTABLESPACE 
       WHERE DBID=dbid ORDER BY PSID;

    Use the results to compare the information in the DB2 catalog with the DBD. Determine which OBDs are inconsistent with the DB2 catalog. Use Diagnosis Guide and Reference to analyze the DBD.

  • DSN1LOGP output with DBID (1) OBID (1F) covering the period of time in which the DBD inconsistency might have occurred. This period of time is approximately from the time of the abend back to the time when the DB2 catalog and DBD were believed to be consistent.
  • Copy of the log for this period, so that additional DSN1LOGP reports can be produced for problem determination.