I have the following situation:
1. I shutdown immediate the database
2. Took snapshot of database on Netapp filer
3. Backed the database snapshot up to tape using NDMP dump on a Netapp filer
4. Detroyed volume and recreated on Filer
5. Restored data from tape to new volume on filer
6. I renamed the controlfiles and erased the redo logs
7. I started the database up nomount
8. I ran my create contolfile script
9. I got the following error:
SVRMGR> connect internal
CREATE CONTROLFILE REUSE set DATABASE UMS7 RESETLOGS NOARCHIVELOG
ORA-01503: CREATE CONTROLFILE failed
ORA-01210: data file header is media corrupt
ORA-01110: data file : '/cognet-ums7/system/system01.dbf'
I did a dbv on the datafile and the undo header block of the system tablespace shows corruption. Oracle says it is because the tape had a bad spot on it. My manager thinks this is impossible. I do not agree with him. We do not have a backup solution and are solely relying on straight dumps to tape for our backups. He can't believe that there is no verification with NDMP!! I am very frustrated!! He is getting the tape verified to prove me wrong!! He wants to know how Oracle "knows" the tape is bad. I told him all Oracle "knows" is that the datafile is bad due to media corruption caused by somesort of hardware problem. There was no indication of corruption anywhere in my alertlog. Any ideas????? I need help!! This is nuts!!!
whoopsie, a little bit of a tight spot here.
Oracle will run several checks before it validates a datafile as being valid like for instance it will check the file id info in the header of the datafile to that of the tail of the datafile to see if those two value match. If they don't Oracle will mark the file as corrupt.
Correct me if I'm wrong but 99.99% of corruption I've seen is hardware related, rarely does Oracle cause software corruption.
You can dump the file header info on this but do it with Oracle support. Oracle does not really know that the tape device is bad just that for some reason the file is not suitable condition for oracle to use it and open up.
I do use netapp filer. The snapshots become handy, at times. But I don't totally rely on the filer snapshots. I normally turn on the snapshot option, when I have to play or do somthing with my regular RMAN backups. Why didn't you take an export dump on the database before you did the changes. That would have saved you time.
I once experienced a scenario where the snapshots got filled up and got the filer run out of space. But when we added the disk and we were able to recover the database without any problem. As you said, it is possible, that the snapshot could have been corrupted, at the time of transfer, or at the time of you recovered back to the volume.
Check with the netapps what they can do for you? They might have a solution for this corruption.
[Edited by sambavan on 10-08-2002 at 12:08 PM]