299 views
in 11G DBA by ACE (20,920 points)

1 Answer

by ACE (20,920 points)

The main purpose is to check for corrupt blocks and missing files.

There are two types of corruptions
1. Physical corruption
2. Logical corruption

In physical corruption/media corruption, the database does not recognize the block at all and the checksum is invalid.

In a logical corruption, the contents of the block are logically inconsistent. By default RMAN doesn’t check for logical corruption. Use “CHECK LOGICAL” with BACKUP or RESTORE command to check for logical and physical corruption using RMAN.

It’s advised to set DB_BLOCK_CHECKSUM=typical in the initialization parameter file of a database, set so that the database calculates datafile checksums automatically (not for backups). The BACKUP command computes checksum for each block and stores it in the backup. If you specify NOCHECKSUM while creating backup then RMAN does not perform a checksum of the blocks.

Note that Automatic Diagnostic Repository (ADR) tracks all types of corruptions.

...