Recover Oracle Database

Hi Experts,
Our database server corrupted. We have reinstalled the new database. The original DBF files stored somewhere. How to recover the database using the existing DBF file?

Please help.
Nasa
nasarudinAsked:
Who is Participating?
 
MetanilCommented:
try this:
SQL>STARTUP NOMOUNT
SQL>ALTER DATABASE OPEN RESETLOGS

If this doesn't work try this undocumented option in your init.ora file
_allow_resetlogs_corruption=TRUE

and restart your instance

For further information:
http://www.dbspecialists.com/presentations/missing_logs.html
0
 
MetanilCommented:
DBF file is not enough for complete database recovery. You'll also need a control file & redo log files.
However, if you create same database name as your existing, replacing datafile may help.
This should be done by shutting your database down, then replace with your old data file, and again restarting your database..
0
 
nasarudinAuthor Commented:
I tried to replace the datafile as what you suggested. But I got the following errors:
ORA-01122: database file 5 failed verification check
ORA-01110: data file 5: 'E:\ORACLEDB\PRODUCT\10.1.0\ORADATA\MPEPRO\MPEPRO.DBF'
ORA-01251: Unknown File Header Version read for file number 5

FYI, we have the control file and redo log but the redo log files were corrupted.
What should I do next?

Thanks.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
MetanilCommented:
This problem arises due to version incompatibities of control and parameter file with the data file as there is currently new control and parameter file.

You can get further information on Cold Backup by using following link(look for answer posted by  schwertner):

http://www.experts-exchange.com/Databases/Oracle/Q_21371694.html

Hope this may help.
0
 
salilcCommented:
hi,

did you multiplexed your control files?if yes try starting the database by commenting one of the control file specified in CONTROL_FILE parameter in
init.ora file (try commenting the first control file).

do you have a backup of your control file?

ie : did you ever took a backup  recently using the command:-

alter database backup controlfile to trace;

if you are having one try this:-
go to sqlplus
in sqlplus issue=> startup nomount;

issue the create controlfile  command from the backup in the trace directory
after creating the control file database will startup automatically.


is your db is in archivelog mode?

rgds

0
 
schwertnerCommented:
You have to use only the old files:
1. all DBF files
2. all Control Files
3. Redo log files
4. the old SPFILE and password file

The version of the old installation and the new one should be the same.
0
 
boriskalavskyCommented:
if redo logs got corrupted you can try:

sqlplus /nolog
conn / as sysdba
startup mount
select * from v$backup_file;
select * from v$log;
select * from v$datafile;
recover database using backup controlfile until cancel
<CANCEL> --it may end with errors
alter database open resetlogs;
0
 
nasarudinAuthor Commented:
Thanks everyone!!!!!
After I tried everything that you all suggested, Now I have the following error while starting up the database.
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup;
ORACLE instance started.

Total System Global Area  402653184 bytes
Fixed Size                   789112 bytes
Variable Size             148108680 bytes
Database Buffers          251658240 bytes
Redo Buffers                2097152 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

Now, I'm still trying to start it up.
0
 
nasarudinAuthor Commented:
I added allow_resetlogs_corruption=TRUE command in my init.ora
Then I alter database open resetlogs, it asked me to use BACKUP CONTROL command.
Then I followed the command. Next it was asking for the latest archive log file, but unfortunately I didn’t have it.
So I renamed the latest archive file that I have, so that it equaled to the filename that required by the oracle.
Then I continued using RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE.
After that I alter database open resetlogs again and it works fine.

Thanks for everything.
i really appreciate it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.