删除表空间中的数据文件(Oracle 10gR2以后support)

9年前
QL> alter tablespace myalan
  2  add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\myspace02.dbf' size 10m;
表空间已更改。
SQL> select file_name from dba_data_files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' offline drop;
数据库已更改。
SQL> select file_name from dba_data_files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
SQL> alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF';
alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF'
*
第 1 行出现错误:
ORA-03264: 无法删除本地管理的表空间中的脱机数据文件

SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online;
alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online
*
第 1 行出现错误:
ORA-01113: 文件 10 需要介质恢复
ORA-01110: 数据文件 10: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF'

SQL> recover datafile 10;
完成介质恢复。
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online;
数据库已更改。
SQL> select file_name,status from dba_data_Files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
STATUS
---------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
AVAILABLE
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
AVAILABLE

SQL> alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF';
表空间已更改。
SQL> select file_name,status from dba_data_Files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
STATUS
---------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
AVAILABLE