Block corrupt, how to fix?
I got the following errors continuously when I run dbv on the datafile. However production database is working fine. How could I fix it? Is it serious? Tks.
OS: Solari 9
DB: Oracle 9i 188.8.131.52.0
Page 3 is marked corrupt
Corrupt block relative dba: 0x00000003 (file 0, block 3)
Completely zero block found during dbv:
Page 4 is marked corrupt
Corrupt block relative dba: 0x00000004 (file 0, block 4)
Bad header found during dbv:
Data in bad block -
type: 11 format: 2 rdba: 0x02c00001
last change scn: 0x0000.00000000 seq: 0x1 flg: 0x04
consistency value in tail: 0x00000000
check value in block header: 0xff84, computed block checksum: 0xb01
spare1: 0x0, spare2: 0x0, spare3: 0x0
Last edited by richyip; 08-02-2003 at 12:33 AM.
Yes, it will work fine until your app hits the bad blocks.
The easiest way to find out what DB object is affected is to export everything in the tablespace to which that datafile belongs. You will see an error when you attempt the export.
Depending on what table it is, you may or may not want to try to find a backup that does not have the corruption. The data may be manually recreatable. In order to get as much good data out of the table as possible, you may want to use the DBMS_REPAIR package and set the SKIP_CORRUPT flag (or something like that). That will allow you to select * from the the table (into another table, presumably) and it will get everything that is not in a corrupt block.
Also, if you do regular EXPORTS of your tables, then the last one that did not report corruption is the best one to fall back to.
You should consider the drive this file is on suspect, so if you can, move the data files elsewhere until diagnostics can be run on that drive and file system.
If you restore a backup of the datafile, don't forget to run DBV on THAT restored file just to be sure it is OK.
Click Here to Expand Forum to Full Width