DBAtlas · Database operations atlas

ORA-01578: Oracle data block corrupted (file #, block #)

Oracle

What does it mean?

A data block in the specified datafile is corrupted; Oracle reports that the block failed its consistency check (checksum). This is physical corruption.

Why does it happen?

Disk/hardware failure, storage layer errors, operating system or controller problems, partially written blocks after a power loss, or a corrupt backup/restore.

How to fix it

Confirm the corruption and its extent: RMAN> VALIDATE DATABASE / VALIDATE CHECK LOGICAL DATAFILE n; also run DBVERIFY (dbv) and check v$database_block_corruption. If a backup exists, recover at the block level: RMAN> RECOVER DATAFILE n BLOCK m; or, for all listed blocks, RMAN> RECOVER CORRUPTION LIST; (the older BLOCKRECOVER command has been deprecated since 11g). If it is an index block, rebuild the index. Always check hardware/disk health; the root cause is usually storage.

Open in DBAtlas →

More from this engine