Detecting Data Corruption Problems

JADE provides a block-level checksum mechanism so that corrupted blocks are detected when they are read from disk.

When an updated block is flushed from the disk cache, a block checksum is calculated and stored.

When a checksummed block is read into the database cache, the checksum is recalculated and compared. A mismatch raises a 3114 exception (Checksum mismatch in fetched data). When this exception is raised during normal processing, the affected data is inaccessible. While it is possible for you to continue operations with degraded access to your data, to reinstate data integrity you must restore your database from backup and perform a roll-forward recovery. (For details, see "Using the Restore Database Command", in Chapter 1.)

When a checksum error is detected during recovery processing, the recovery process is terminated. If you suspect that your database already contains corrupted blocks, you can verify structural integrity by performing a certification of your database using the JADE Database utility and verify referential integrity by running the JADE Logical Certifier. (For details, see "The JADE Database Utility" in Chapter 1 of this document, and Chapter 5, "JADE Logical Certifier Diagnostic Utility", of the JADE Object Manager Guide.)

As certifications are lengthy processes, we recommend that you perform these against your most-recent database backup. The database certification process verifies all checksummed blocks.