I recently restored (from full, level 0 cold backup) an
ARCHIVELOG database & recovered it to a point in time about 24 hours after backup. I ran
RMAN validate and numerous blocks turned up in
V$DATABASE_BLOCK_CORRUPTION with corruption of
NOLOGGING. This was anticipated as database has frequent
NOLOGGING load operations. The game-plan was to map
V$DATABASE_BLOCK_CORRUPTION blocks to segments (table partitions), truncate partition, and replay the loads of those data sets from source files.
In most cases, this worked perfectly; most entries in
V$DATABASE_BLOCK_CORRUPTION mapped directly to
NOLOGGING table partitions which would've been loaded via
INSERT /*+APPEND*/ after the cold backup.
V$DATABASE_BLOCK_CORRUPTION shows about 100 blocks with
NOLOGGING corruption that do not match any entries in
DBA_EXTENTS (they are, presumably, unused blocks).
1) Any idea what caused these blocks to become corrupt?
2) As they do not map to any extents in use, can I safely ignore them?
3) The OCD question: if these blocks aren't problematic, is there a way to clear them from