If you currently have a cold backup, but the lack of one of the data file, but you all archives at present, if you want to restore the data file, you can refer to the following example:    

[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,   2002,   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  The open;  
alter  Database  OPEN 
*  
ERROR  At  Line  1:  
ORA - 01157:   Cannot  The 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  The 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  The open;  

Database  Altered.  

SQL>  
 


This concludes the body part