How to remove orphan fractured blocks?
RMAN reported some blocks to be damaged in the datafile, I found the object (2 tables), found that blocks were marked as soft damaged and since tables weren`t a part of something critical I simply copied data into diff. location and recreated both tables.
Now out of 31 damaged blocks for some reason I have 4 left.
database_block_corruption view says:
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTION_TYPE
14 29 4 0 FRACTURED
query
select * from dba_extents where file_id = 14
and 29 between block_id and block_id+blocks -1
returns nothing for 29-33 blocks so I supposed those blocks are unused. RMAN still produces this in alert log:
Corrupt block relative dba: 0x0380001f (file 14, block 31)
Bad header found during buffer read
Data in bad block -
type: 78 format: 7 rdba: 0x545f4f50
last change scn: 0x500a.545f4752 seq: 0x2e flg: 0x20
consistency value in tail: 0x20435553
check value in block header: 0x2e20, block checksum disabled
spare1: 0x41, spare2: 0x54, spare3: 0x6578
***
Reread of rdba: 0x0380001f (file 14, block 31) found same corrupted data
Thu Oct 7 15:44:52 2004
For now I included:
set maxcorrupt for datafile '/oracle_db0/oradata/ENKLAV/tbl2_2.dbf' to 999;
into RMAN script but it is not a solution! Why those 4 blocks weren`t released?
WHAT DOES IT WANT AND HOW TO FIX IT?