Extracting Data from a Corrupt Table using DBMS_REPAIR or Event 10231
(Doc ID 33405.1)
Last updated on SEPTEMBER 26, 2023
Applies to:Oracle Database - Enterprise Edition - Version 184.108.40.206 to 10.2.0.1 [Release 7.3.4 to 10.2]
Oracle Database Cloud Schema Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
*** IMPORTANT ***
This note is an extension to article <Note:28814.1> about handling
block corruption errors where the block wrapper of a datablock indicates
that the block is bad. (Typically for ORA-1578 errors).
The details here will NOT work if only the block internals are
corrupt (eg: for ORA-600 or other errors). In this case then
from Oracle8i onwards it is possible to use DBMS_REPAIR to mark
problem blocks as soft corrupt such that they will then signal
ORA-1578 when accessed. See the 10.2 documentation for details
of using DBMS_REPAIR.CHECK_OBJECT / FIX_CORRUPT_BLOCKS.
Please read <Note:28814.1> before reading this note.
This method only applies to heap-organized tables.
For Index-organized tables (IOT) refer to <Note 794772.1> - EVENT 43810 "check-and-skip corrupt blocks in index scans" including IOT's
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!