Block Corruption Symptom:
ORA-01578
1. Appear in aler logfile.
2. When you take the RMAN backup.
3. When you try to access that corupted data block.
How to Handle this:
1. Check the alert logfile.
2. analyze table emp validate structure
Identify and preserve objects that will be lost after PITR.
3. Recover data from the corrupted block.
4. Resolve any hardware issue
– Memory boards
– Disk controllers
– Disks.
Setting Parameters to Detect Corruption:
DB_BLOCK_CHECKING – Prevent memory and data corruption
DB_BLOCK_CHECKSOME – Detect I/O storage disk corruption.
Note: These parameters have a performance impact.
The V$DATABASE_BLOCK_CORRUPTION view displays blocks marked corrupt.
BLOCK RECOVERY
PREREQUISITE:
The target database must be in ARCHIVELOG MODE.
The backupas of the datafiles containing the corrupt blocks must be full orf level 0.
RMAN can use only archive redo log for the recovery.
The corrupted data block can be restored from Flashback Logs if available.
The RMAN RECOVER…BLOCK command:
1. Recover a singel block:
RECOVER DATAFILE 6 BLOCK 3;
2. Recover multiple block:
RECOVER DATAFILE 2 BLOCK 43
RECOVER DATAFILE 3 BLOCK 69;
RECOVER DATAFILE 3 BLOCK 143;
3. Recover all blocks logged in V$DATABASE_BLOCK_CORRUPTION:
RECOVER CORRUPTION LIST;