Q

Recovering .dbf files without .dmp files

I have a problem to recover .dbf files from one server (which already crashed) to another server. We don't have any .dmp files. We only have the .dbf and .ctl plus all files in the /oracle/admin folder.

I have a problem to recover .dbf files from one server (which already crashed) to another server. We don't have any .dmp files. We only have the .dbf and .ctl plus all files in the /oracle/admin folder.

The scenario is like this. The server which crashed is on Linux Suse 9 and has Oracle Database Server 9.0 R2 installed on it. There are three .dbf files all together: wms_jt.dbf, wms_msl.dbf and wms_msl.dbf. We suspect there are some OS problems since it is showing the GRUB> prompt everytime I switch on the server.

Since we are not able to access the system, we took the hard disk of that server to link it up to another server (in order to access the data inside), which has the same OS, Linux Suse 9, but doesn't have Oracle Database Server installed on it.

Now, we can access the hard disk but we found there are no single dump files on it. Instead we only found the .dbf , .ctl and other files I mentioned earlier.

So my question is, is it possible for us to export the .dbf files to get the dump files inside it? If yes, any tips/steps to follow so that I can recover the dump files? I have already tried a few things like copying all the .dbf files to my laptop in the c:/dumps folder (which is in Windows and already installed Oracle Database server 9.0 R2). Then I renamed and relocated the datafile to point to this .dbf files by using the following sql statement:

alter database rename file 'C:DUMPsWMS_JT.DBF' to 'C:ORACLEORADATAZETAWMS_JT.DBF';

Then, when I checked the status, it shows RECOVER, which is supposed to be ONLINE.

SQL> select name, status from v$datafile where status='RECOVER';

NAME
--------------------------------------------------------------------------------
STATUS
-------
C:ORACLEORADATAZETAWMS_JT.DBF
RECOVER

Then I also tried to do a select statement as below:

SQL> alter database datafile 'c:/oracle/oradata/zeta/wms_jt.dbf' online;
But it shows an error:
alter database datafile 'c:/oracle/oradata/zeta/wms_jt.dbf' online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: 'C:ORACLEORADATAZETAWMS_JT.DBF'

Do I need to do anything prior to this transfer/copy process for these .dbf files? Or is it due to OS platform problems? I read on the Internet that I need to copy and configure the init.ora first. But I'm not sure on how to configure it. This is really urgent. Please help. Thanks.

To restore from this hard drive, you'll need to copy your database datafiles (.dbf), control files (.ctl) and your online redo logs. If you can find your initialization parameter file and your password file, that would be great. These files are only for your platform so you cannot move them from SuSE to Windows. You'll need to set up another SuSE server. On that new server, install the same Oracle release and create the same file structure to hold your database files. Copy the files from your hard drive to the new server in the same directory structure. You should be able to start your database without needing to export/import.
This was first published in June 2006

Dig deeper on Oracle database backup and recovery

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide

SearchDataCenter

SearchContentManagement

SearchFinancialApplications

Close