Problem solve Get help with specific problems with your technologies, process and projects.

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';


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

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.

Dig Deeper on Oracle database backup and recovery

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.