数据库中除了SYSTEM表空间外,其他表空间是可以删除。
删除数据文件
基本语法:
ALTER TABLESPACE 表空间名 DROP DATAFILE 数据文件名;
备注
:不能够删除表空间中的第一个数据文件,如果将第一个数据文件删除的话,相当于删除了整个表空间。
1) 删除表空间的数据文件
SQL>alter tablespace DUMMY drop DATAFILE ' E:\ORADATA\GSDOORDB\DUMMY_1.DBF';
删除失败,如下:
2)删除表空间及其数据文件
SQL> drop tablespace DUMMY including contents and datafiles;
删除成功,如下:
3)删除数据库默认的表空间
SQL> drop tablespace users
; //这句执行会出错
备注
:数据库默认表空间不能删除,除非将默认表空间指向其他表空间之后才可以删除。
如果用户的默认表空间指向其他的表空间(temp2),当这个temp2表空间被drop 之后,用户的默认表空间会自动指向DB的默认表空间(users表空间)
SQL>drop tablespace temp2