My Oracle Support Banner

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 to [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.


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

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!

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.