Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 867
  • Last Modified:

Recover Oracle DB after OS Drive Failure

We recently experienced a hard drive failure that caused our control files for our oracle 8i db to become corrupted.  We tried several different things to attempt recovery (ie, changing from control01.ctl to 02 to 03, etc).  After searching through several log files, we noticed a CRC error on the control files, which do not have the sql in a trace file (to rebuild the ctl file).

Unfortunately, the hard drive failure required a clean install of the system -- now running win 2k3 server, instead of 2k.  Is there a way to recover the db using the dbf files from the old db that are not corrupted?

Thanks for any assistance.
0
mviron
Asked:
mviron
  • 4
  • 4
1 Solution
 
slightwv (䄆 Netminder) Commented:
You can create the control files manually but this is VERY dangerous.  Is strongly suggest that if you have a support contract in place you open a TAR through Metalink (This might be a problem since 8i has been de-supported).

So much for the disclaimer.

IMPORTANT:  Make a backup of everything you currently have just in case you need to get back to point A.

Do you have access to another 8i instance?  If so, I suggest generating a control file trace from this instance and then changing the datafiles/names/etc... for the new instance and rebuilding the control file in question.

If you do not have another instance by which to jumpstart the create controlfile syntax:  You are left with creating the controlfile sql from scratch.  I suggest then going to the docs for proper syntax.
0
 
mvironAuthor Commented:
Good news -- you helped us to recreate the ctl file -- however, we ran into a few errors:

Connected to an idle instance.
ORACLE instance started.

Total System Global Area  112400412 bytes
Fixed Size                    75804 bytes
Variable Size              57901056 bytes
Database Buffers           54345728 bytes
Redo Buffers                  77824 bytes

Control file created.

ORA-00279: change 2768539 generated at 02/25/2005 17:32:52 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\ORA81\RDBMS\ARC05185.001
ORA-00280: change 2768539 for thread 1 is in sequence #5185
ORA-00373: online log version 8.1.6.0.0 incompatible with ORACLE version
8.1.0.0.0
ORA-00312: online log 1 thread 1: 'C:\ORACLE\ORADATA\KIREC\REDO03.LOG'


ORA-00308: cannot open archived log '--'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.


ALTER DATABASE OPEN
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: 'C:\ORACLE\ORADATA\KIREC\SYSTEM01.DBF'

any suggestions?

Thanks!
0
 
slightwv (䄆 Netminder) Commented:
I hope you have a copy of the archived redo logs around somewhere.  It needs: ARC05185.001 to do a DB recovery.

If you are not able to locate these, you should be able to open the database using 'reset logs'.  Once the DB is forced open you will need to do the following:

full export
drop the database
rebuild the database
import

the reason for this is that by using 'reset logs' you are now in an unsupported state (Oracle cannot guarentee the DB is healthy, no matter how good it looks.  I lived through a 72 hour rebuild because of this........ I did get a 4 hour break though.  I shouldn't complain).
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
mvironAuthor Commented:
we attempted to do a "alter database open resetlogs", and got hit with

ERROR at line 1:
ORA-00600: internal error code, arguments: [2765], [135290880], [], [], [], [],
[], []

Any suggestions?
0
 
slightwv (䄆 Netminder) Commented:
Ora 600s are a bear to troubleshoot.  They're a catch all for internal errors.

Here's all I can find on the specific error.  It points to the COMPATIBLE parameter in the init.ora.  I don't think this is accurate given your current situation but stranger things have happened.

Check out:
http://www.lazydba.com/oracledba.pl?0::39894

If you have access to Metalink you can perform a lookup on ORA-600 errors:
http://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&id=153788.1&blackframe=0
0
 
mvironAuthor Commented:
Thank you so much for your assistance!  We have successfully recovered everything that was in that database with your assistance.
0
 
slightwv (䄆 Netminder) Commented:
No problem.  That's what most of us are here for and some of use have actually had to do this in the past (and it wasn't fun).

Just for future readers:  What was causing the ORA-600?
0
 
mvironAuthor Commented:
you were correct in suggesting that the ORA-0600 [2765] was the compatible parameter in init.ora.  Ours was set to 8.1.0 locally, but on prod was set to 8.1.6.0.0 .  After comparing the init.ora files against each other (prod vs our recovery instance), we noticed that difference (along with several others).  Once we made those changes, everything was good to go.

Again, thanks so much for your assistance!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now