Oracle Data Block corruption ORA-01578
----------------------------------------
ORA-01578 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 01578 error.
This query should give the segment_name and segment_type
(ie the table and its name)
In order to salvage the uncorrupted part of the table you can
add an entry to 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 !!!
----------------------------------------
ORA-01578 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 01578 error.
This query should give the segment_name and segment_type
(ie the table and its name)
In order to salvage the uncorrupted part of the table you can
add an entry to 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 !!!
No comments:
Post a Comment