6.2.3 表空间的删除
当一个表空间不再需要时,可以将其从数据库中删除。删除表空间的操作一般由SYS用户完成,普通用户如果希望执行这样的操作,需要具有DROP TABLESPACE系统权限。删除表空间的命令格式为:
DROP TABLESPACE 表空间
例如,下面的命令用于删除表空间ts3:
SQL>DROP TABLESPACE ts3;
需要注意的是,如果用户已经在这个表空间中创建了表、索引的数据库对象,这个表空间是不能被直接删除的,需要先把表空间中的所有数据库对象删除。例如,下面的DROP语句用于删除表空间以及其中的数据库对象:
SQL>DROP TABLESPACE ts3 INCLUDING CONTENTS;
表空间虽然被删除了,但是表空间所包含的数据文件并没有被删除,还占用磁盘上的存储空间,这些文件需要通过手工方式删除。在有些情况下,手工删除数据文件可能不太容易,如在裸设备中或ASM磁盘组中。下面的DROP语句用于删除表空间以及其中的数据库对象和对应的数据文件:
SQL>DROP TABLESPACE ts3 INCLUDING CONTENTS AND DATAFILES;