从Oracle10gR2版本起,oracle提供了删除tablespace中空数据文件的功能。
* from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
tablespace test datafile 'd:/test.ora' size 1m,'d:/test2.ora' size 1m;
Tablespace created.
tablespace test drop datafile 'd:/test2.ora';
Tablespace altered.
tablespace test add datafile 'd:/test2.ora' size 1m;
Tablespace altered.
table test(a char(2000),b char(2000),c char(2000),d char(2000))
2 tablespace test;
Table created.
into test values('a','b','c','d');
1 row created.
into test select * from test;
1 row created.
2 rows created.
4 rows created.
8 rows created.
16 rows created.
insert into test select * from test
*
ERROR at line 1:
ORA-01653: unable to extend table SYS.TEST by 128 in tablespace TEST
tablespace test drop datafile 'd:/test2.ora';
alter tablespace test drop datafile 'd:/test2.ora'
*
ERROR at line 1:
ORA-03262: the file is non-empty
table test;
Table dropped.
tablespace test drop datafile 'd:/test2.ora';
Tablespace altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50282/,如需转载,请注明出处,否则将追究法律责任。