How Remove Data Files befor opening a Database

Q

How Remove Data Files befor opening a Database? - Oracle DBA FAQ - Managing Oracle Tablespaces and Data Files

✍: FYIcenter.com

A

Let's say you have a corrupted data file or lost a data file. Oracle can mount the database. But it will not open the database. What you can do is to set the bad data file as offline befor opening the database. The tutorial exercise shows you how to set two data files offline and open the database without them:

>sqlplus /nolog

SQL> connect SYSTEM/fyicenter AS SYSDBA

SQL> STARTUP MOUNT;
ORACLE instance started.

Total System Global Area  100663296 bytes
Fixed Size                  1285956 bytes
Variable Size              58720444 bytes
Database Buffers           37748736 bytes
Redo Buffers                2908160 bytes
Database mounted.

SQL> ALTER DATABASE DATAFILE '\temp\my_space.dbf'
  2  OFFLINE DROP;
Database altered.

SQL> ALTER DATABASE DATAFILE '\temp\my_space_2.dbf'
  2  OFFLINE DROP;
Database altered.

SQL> ALTER DATABASE OPEN;
Database altered.

SQL> col file_name format a36;
SQL> col tablespace_name format a16;
SQL> SELECT TABLESPACE_NAME, FILE_NAME, BYTES
  2  FROM DBA_DATA_FILES;

TABLESPACE_NAME FILE_NAME                             BYTES
--------------- --------------------------------- ---------
USERS           C:\ORACLEXE\ORADATA\XE\USERS.DBF  104857600
SYSAUX          C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF 503316480
UNDO            C:\ORACLEXE\ORADATA\XE\UNDO.DBF    94371840
SYSTEM          C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF 367001600
MY_SPACE        C:\TEMP\MY_SPACE.DBF
MY_SPACE        C:\TEMP\MY_SPACE_2.DBF

At this point, if you don't care about the data in MY_SPACE, you can drop it now with the database opened.

2007-05-02, 4753👍, 0💬