If you have a cold backup, but one of the data files is missing, but you have all the archives, if you want to restore the data files, you can refer to the following example:
Copy codeThe Code is as follows:
[Oracle @ jumper eygle] $ sqlplus "/as sysdba"
SQL * Plus: Release 9.2.0.4.0-Production on Sun Aug 20 01:22:50 2006
Copyright (c) 1982,200 2, Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 252777592 bytes
Fixed Size 451704 bytes
Variable Size 134217728 bytes
Database Buffers 117440512 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> alter database open;
Alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 3-see DBWR trace file
ORA-01110: data file 3: '/opt/oracle/oradata/eygle/eygle02.dbf'
SQL> alter database create datafile 3 as '/opt/oracle/oradata/eygle/eygle02.dbf ';
Database altered.
SQL> select name from v $ datafile;
NAME
-------------------------------------------------------
/Opt/oracle/oradata/eygle/system01.dbf
/Opt/oracle/oradata/eygle/undotbs01.dbf
/Opt/oracle/oradata/eygle/eygle02.dbf
/Opt/oracle/oradata/eygle/eygle01.dbf
SQL> alter database open;
Alter database open
*
ERROR at line 1:
ORA-01113: file 3 needs media recovery
ORA-01110: data file 3: '/opt/oracle/oradata/eygle/eygle02.dbf'
SQL> recover datafile 3;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL>