16.4.2 删除数据文件

在使用数据文件时经常会去除一些没有用的数据文件,但是删除数据文件也有前提条件。当数据文件处于以下3种情况时它是不能够被删除的:

❑数据文件中存在数据;

❑数据文件是表空间中唯一或第一个的数据文件;

❑数据文件或数据文件所在的表空间处于只读状态。

如果要删除的数据不具有上面的3种情况,那么删除数据文件既可以在企业管理器中直接删除,也可以在SQL*Plus中删除。下面就分两种情况进行讲解。

1.使用企业管理器删除数据文件

在图16.1所示的页面中,单击【数据文件】选项就可以查看到数据库中存在的所有数据文件,如图16.41所示。

16.4.2 删除数据文件 - 图1

图 16.41 显示所有数据文件

【示例22】在企业管理器中删除数据文件

在图16.41所示界面中选择要删除的数据文件并单击【删除】按钮,会出现一个删除提示页面,如图16.42所示。

16.4.2 删除数据文件 - 图2

图 16.42 删除数据文件提示

单击【是】按钮,即可删除该数据文件。

说明 既然数据文件是存在表空间中的,所以删除数据文件也可以在表空间中进行,但是也不移除表空间中第一个或者唯一一个数据文件。

2.使用SQL*Plus删除数据文件

在SQL*Plus中删除数据文件的基本语法如下:


ALTER TABLESPACE tablespace_name DROP DATAFILE'filename';


【示例23】在SQL*Plus中删除数据文件

下面就利用上面的语句删除test表空间中的数据文件TESTNEW。具体操作如图16.43所示。

16.4.2 删除数据文件 - 图3

图 16.43 删除数据文件TESTNEW

删除完成后,可以在数据字典DBA_DATA_FILES中查看数据文件TESTNEW是否在test表空间中被删除。具体操作如图16.44所示。

16.4.2 删除数据文件 - 图4

图 16.44 查询数据文件

由此,可以看出数据文件TESTNEW已经被删除了。