You’re lucky that I’ve found your topic here. I suppose that I can help you.
>> datafile 2 'D:\oracle\oradataew1\undotbs01.dbf'
As the name of the datafile suggest, it's a datafile attached to undo tablespace and if it is so then only one concern is there --
whether last time ur database was shutdown properly or not.
First of all at mount stage check the datafile belongs to undo tablespace or not. Use this query from sqlplus at mount stage --
SQL> select D.name " Filename", T.name " Tablespace name" from
2 V$datafile D, V$tablespace T
3 where D.TS# = T.TS#;
FILE_NAME
------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\ORADATA\TANUDB1\SYSTEM01.DBF
SYSTEM
D:\ORACLE\ORADATA\TANUDB1\UNDOTBS01.DBF
UNDOTBS1
D:\ORACLE\ORADATA\TANUDB1\DRSYS01.DBF
DRSYS
( on my machine)
As it shows that UNDOTBS01.DBF belongs to undotbs1 ( undo tablespace ) , if it is so on ur machine then do this :
--Take the specific datafile offline
SQL> alter database datafile 'D:\ORACLE\ORADATA\TANUDB1\UNDOTBS01.DBF' offline drop;
Database altered.
-- Open the database
SQL> alter database open;
Database altered.
-- create a new undo tablespace (like this)
SQL> create undo tablespace undotbs2
2 datafile 'D:\ORACLE\ORADATA\TANUDB1\UNDOTBS02.dbf' size 100M;
Tablespace created.
SQL> alter system set undo_tablespace=undotbs2;
System altered.
and u can use ur system freely, nothing is lost.
A word of caution ---
This scenario is going to work provided
-- That datafile belongs to undo tablespace.
But if it doesn’t help try free demo[/url] of recovery toolbox for DBF, it’s gonna help.