16.2.6 删除表空间

表空间的管理可以使用本地管理的方式,也可以使用数据字典的方式,在删除表空间时由于管理的方式不同,那么删除的速度也会受到影响。通过大量的试验可以发现,使用本地方式管理的表空间在删除时速度更快一些。因此,要删除表空间时可以考虑把表空间的管理方式修改成本地方式管理后再删除。

删除表空间既可以使用企业管理器完成,也可以在SQL*Plus中完成。下面就分别讲解这两种方式是如何删除表空间的。

1.使用企业管理器删除表空间

在企业管理器中删除表空间的同时如果想把表空间中的数据文件也一起删除,那么,不需要先删除表空间中的数据文件再删除表空间,直接选择把表空间中的数据文件也一起删除就可以。

【示例11】在企业管理器中删除表空间

打开企业管理器后,找到表空间的页面,如图16.2所示,选择要删除的表空间,然后单击【删除】按钮,进入图16.21所示界面。

16.2.6 删除表空间 - 图1

图 16.21 删除表空间提示

在图16.21所示界面中,可以看到一个“从存储删除相关联的数据文件”选项,如果想把表空间中的数据文件全部删除,可以选中该选项,如果只是删除表空间而不删除其中的数据文件,那么就可以取消选中该选项。在默认删除表空间时,该选项是选中状态的。

注意 当在企业管理器中删除表空间并且删除表空间的数据文件后,要注销后重新登录才能看出表空间中的数据文件被删除。

2.在SQL*Plus中使用语句删除表空间

使用语句删除表空间,也可以选择把表空间中的数据文件一并删除。删除表空间的语法如下:


DROP TABLESPACE tablespace_name[INCLUDING CONTENTS][CASCADE CONSTRAINTS]


【语法说明】

❑[INCLUDING CONTENTS]:如果在删除表空间时要把表空间中的数据文件也删除,可以在删除的表空间语句后面加上该语句。

❑[CASCADE CONSTRAINTS]:如果在删除表空间时要把表空间中的完整性也删除,可以在删除的表空间语句后面加上该语句。

【示例12】在SQL*Plus中删除表空间

下面就以删除表空间TEST,并且删除表空间中的数据文件为例说明,在SQL*Plus中执行结果如图16.22所示。

16.2.6 删除表空间 - 图2

图 16.22 删除表空间TEST

至此,表空间TEST和TEST中的数据文件已经被删除。