I have a table that contain several corrupted data blocks and I use the stored procedure reside in the “DBMS_REPAIR
” to mark the data blocks as corrupted data blocks so that I can keep query to the table. After the stored procedure is executed, everything goes fine, I use rman
to check the corruption by command:
validate datafile number
and the output still keep reporting the corruption, nothing change in the v$database_block_corruption
,so howv$database_block_corruption
can be refresh, did I have to rebuild the table by such statement :
create table TABLE_BAK as select * from TABLE_CORRUPTED;
drop table TABLE_CORRUPTED;
RENAME table TABLE_BAK to TABLE_CORRUPTED;
By the way: I don`t have any backup to restore the data block.