We've had a database crash yesterday, so we restore all datafiles from tape (offline backup) and recover the database.
The recovery was successfully but there are several error messages in the alert.log file during recovery:
ALTER DATABASE RECOVER CONTINUE DEFAULT
Media Recovery Log /orabaan/archive/T0001S0000009730.ARC
Tue Jan 30 22:22:01 2001
Errors in file /orabaan/oracle/product/7.3.4/rdbms/log/ora_4727.trc:
Corrupt block dba: 0x94026ea0 file=37. blocknum=159392. found during media/insty
on disk type:0. ver:1. dba: 0x00000000 inc:0x00000000 seq:0x00000000 incseq:0x00
Reread of block=94026ea0 file=37. blocknum=159392. found different data
Corrupt block dba: 0x94026ea0 file=37. blocknum=159392. found during reread
on disk type:0. ver:0. dba: 0x00000000 inc:0x00000000 seq:0x00000000 incseq:0x1c
Recovery is repairing media corrupt block 159392 of file 37
Where are these errors coming from ???
Seems like you have some block corrution. Use dbv utility to check for corruption in dbf mentioned. Were there any ORA 600 errors in the alert log or trace file?? In either case contact Oracle Tech Support.
Fortunately there are no ORA-600 errors in these files.
What's the best way to check the integrity of the online-datafiles and tables ?
By analysing that table structure you can find the corrupted data
Hope this helps...
There are about 5000 tables in this datafile so "ANALYZE TABLE xxx VALIDATE STRUCTURE;"
won't help. Is there a tool/script where i can check all tables in a datafile ?
Why don't you run DB_VERIFY on the datafiles if you know what datafile/tablespace. Follow the link mentioned in prv post. its very simple utility.
ANALYZE doesn't help you much anyway, if its BLOCK CORRUPTION. Use other utilities.
Ok, i'll try DB_VERIFY tomorrow.
I think i'll need more help if there where errors in the datafiles ;-)