ORA-1578 Oracle Data Block corrupted (file # num and block # num) To determine where the corruption is: select * from sys.dba_extents where file_id = filenum and blocknum between block_id and (block_id + blocks - 1); The filenum and blocknum are the numbers in the 1578 error. This query should give the segment_name and segment_type (i.e table and its name). In order to salvage the uncorrupted part of the table you can add an entry to the init.ora: event = "10231 trace name context forever" This will skip the corrupted block on a table scan. Export the table, drop and recreate it from import.
select * from sys.dba_extents where file_id = filenum and blocknum
between block_id and (block_id + blocks - 1);
The filenum and blocknum are the numbers in the 1578 error.
This query should give the segment_name and segment_type
(i.e table and its name).
In order to salvage the uncorrupted part of the table you can add
an entry to the init.ora:
event = "10231 trace name context forever"
This will skip the corrupted block on a table scan. Export the table,
drop and recreate it from import.