Integrity Checker overview

Integrity Checker prevents database corruption that is caused by a use of incorrect database descriptions (DBDs).

DMB verification function

Integrity Checker supports the DMB verification function to prevent database corruptions that are caused by misuse of incorrect DBDLIBs or ACBLIBs.

When IMS™ databases are accessed by IMS online applications, batch applications, utilities, or IMS Tools jobs, IMS uses the database management block (DMB) to obtain database definition. DMBs are stored in the DBD libraries (DBDLIB) or ACB libraries (ACBLIB) as load modules.

Every IMS job requires a DBDLIB or an ACBLIB. IMS loads the DMB from the DBDLIB or the ACBLIB specified by the job, obtains the DMB, and processes the database based on the information in the DMB. If the DMB is incorrect and IMS uses the incorrect DMB to update the database, the database can become corrupted. For example, database corruptions can occur in the following cases:
  • The ACBLIB for a test database is used to update the production database.
  • After changing the DBD, the old DBDLIB is used to update the database.

How the DMB verification function works

When an IMS online application, batch application, utility, or IMS Tools job tries to access the database, while the job is being initialized, the Database Recovery Control facility (DBRC) performs authorization processing for the target database.

Integrity Checker stores the correct DBD definition in a control file called the Library Integrity Control data set (LICON data set). During the DBRC authorization process, Integrity Checker compares the DMB that is referred to by IMS and the DMB that is stored in the LICON data set to ensure that IMS is using the correct DMB.

If a mismatch is found between the two DMBs, the DMB verification process modifies the response from DBRC to deny the DBRC authorization request. When the job receives the authorization failure notification, the job terminates without updating the database.

The following figures illustrate how Integrity Checker prevents database corruptions. Figure 1 shows DMB verification for IMS online applications, and Figure 2 shows DMB verification for batch applications and utilities. The steps that follow the figures correspond to the numbers in the figures.

Figure 1. How Integrity Checker prevents database corruption: IMS online applications
This figure depicts how Integrity Checker prevents database corruptions caused by IMS online applications. An explanation of the flow is provided after the figure.
Figure 2. How Integrity Checker prevents database corruption: batch applications and utilities
This figure depicts how Integrity Checker prevents database corruptions caused by batch applications utilities. An explanation of the flow is provided after the figure.
  1. IMS application or utility program uses an incorrect DBDLIB or ACBLIB.
  2. The DL/I module requests DBRC authorization.
  3. Integrity Checker compares the DMBs, detects a mismatch, and interrupts the DBRC authorization process to deny database authorization.
  4. The IMS application or the utility program terminates before it updates the database.
Through these processes, Integrity Checker detects and prevents any access to the database that uses incorrect DMBs.

These figures illustrate the process flows in the non-BPE based DBRC environment. In the BPE-based DBRC environment, Integrity Checker runs as a DBRC Request exit routine to verify the DMBs.

Change history report for DBDs and databases

Integrity Checker keeps historical records of DBDs that were used in DMB verifications. You can print these records to review the change histories and to compare the current version of the DBD with an earlier version.

You can also record the time stamp of the last database access by using the database access recording option. If you activate this option, the time stamp of the last access made by IMS programs that have an update intent, load utility programs, and unload utility programs is recorded. Such records can also be printed in a report, and you can use the records for an audit evidence regarding database access.

Supported database organizations

Integrity Checker supports the following types of database organization:

  • HSAM, HISAM, SHISAM, HIDAM, HDAM, INDEX
  • PHDAM, PHIDAM, PSINDEX
  • DEDB

MSDB and GSAM databases are not supported.

Program structure

Integrity Checker contains the following programs:

  • DMB verification modules that do DMB verification
  • The utility module that creates, maintains, and prints LICON data sets

Integrity Checker also provides a cataloged procedure and a macro for creating global option modules.