Link to home
Start Free TrialLog in
Avatar of nasarudin
nasarudin

asked on

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
Avatar of Metanil
Metanil

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..
Avatar of nasarudin

ASKER

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.
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):

https://www.experts-exchange.com/questions/21371694/Tutorials-How-to-make-a-routine-backup.html

Hope this may help.
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

SOLUTION
Avatar of schwertner
schwertner
Flag of Antarctica image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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.