Analyzing 00C9010X or 00C902XX abends

The 00C9010x and 00C902xx abend reason codes are issued along with informational error messages (usually DSNI013I or DSNI014I) when logic errors, such as record length inconsistencies, are found.

Referential integrity constraint violations do not cause 00C9010x or 00C902xx abends because Db2 does not depend on referential constraints in order to operate. Referential constraint violations do, however, cause incorrect results in processing.

  • For 00C90101 or 00C90105 abends, the error messages that issued include all pages in use at the time of abend. Generally, the pages have no inconsistency problem. However, if you receive several error messages or abends that identify problems with the same set of pages, it can be an inconsistency problem.
  • For 00C902xx abends, the error messages issued usually include all pages that are involved in the inconsistency problem.

The error messages provide the following information for each page:

REASON
The abend reason code that is issued with the message.
TYPE
A type code that identifies the type of resource involved.
NAME
The name of the resource (database name, space name, and page number).
CONN-ID
The connection ID, which, when combined with the correlation ID (CORR-ID), and the logical-unit-of-work ID (LUW-ID), identifies the communication path involved.
CORR-ID
The correlation ID, which, when combined with the connection ID (CONN-ID), and the logical-unit-of-work ID (LUW-ID), identifies the communication path involved.
LUW-ID
The logical-unit-of-work ID, which, when combined with the connection ID (CONN-ID), and correlation ID (CORR-ID), identifies the communication path involved.

Much of this information also appears in the abend's diagnostic area of the associated SVC dump. Register 13 is at offset X'4C' in the SDWA. Offset X'F4' from the value in register 13 is the address of the CT. At offset X'78' in the CT i's the address of the abend's diagnostic area. The following figure illustrates the format and contents of this diagnostic area. It begins with a 96-byte prefix area, which is followed by a number of 96 byte “subareas,” each containing information about 1 page that is involved in the problem. The diagnostic area contains as many contiguous subareas as there are pages that are involved in the problem.

Figure 1. 00C9010X and 00C902XX SVC dump diagnostic area format
Begin figure description. The diagnostic area for 00C9010x and 00C902xx abends can be found at offset X'78' from the CT. End figure description.

The name of page field is abbreviated as DB.SP.PG.ID:

DB
Database name: eight characters, followed by a one-character delimiter
SP
Table space (file page set) or index space (index page set) name: eight characters, followed by a three-character delimiter
PG
Page number: eight characters, followed by a four-character delimiter
ID
The ID of a record in a data page or the index subpage number in a segmented leaf page: two characters, followed by a one-character delimiter

For example:

DSN8DAPP.DSN8SDEP.X'000002'.X'01' (as it appears in messages)
DSN8DAPP.DSN8SDEP.X.000002..X.01. (as it appears in dumps)

Names are stored in character format. If the ID is unavailable, the field contains blanks. If the high-order bit of the ID field is on, the ID identifies an anchor point in a hash page, meaning that the Db2 directory or catalog is involved in the problem. Although the database name, the space name, and the page number are included in DSNI013I and DSNI014I messages that are issued, the ID (when available) is only found in the diagnostic area of the dump.