sql如何删除表空间中某一个数据文件

36次阅读
没有评论

共计 1853 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 sql 如何删除表空间中某一个数据文件的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

存在两种情况可能需要从表空间中“移走”数据文件。

1.  你不小心给一个表空间增加了一个数据文件,或者你把文件大小设得过大,所以想把它删掉。

2.  你正在进行恢复,因为丢失了一个数据文件所以不能启动数据库。

本文主要处理第一种情况,有别的文章来讲述由于丢失数据文件而不能使用数据库的恢复问题。

在我们详细介绍之前,我们必须说清楚一点:Oracle 不提供如删除表。视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。

在对表空间 / 数据文件进行任何脱机、删除之前,首先对数据库进行一个全备份。

如果数据文件是所在表空间的唯一的数据文件,你只要简单地删除表空间即可:

DROP TABLESPACE tablespace name INCLUDING CONTENTS;

你可以运行下面的命令来查询表空间包含多少数据文件。

select file_name, tablespace_name

from dba_data_files

where tablespace_name = name of tablespace

DROP TABLESPACE 命令从 Oracle 数据字典删除表空间、数据文件和表空间的内容。Oracle 不会再访问该表空间中的任何内容。物理地删除文件需要使用操作系统命令(Oracle 从不物理地删除文件 注:本文是针对 8i 或者之前,9i 可以使用 including datafile 选项来删除物理文件),依赖你的操作系统平台,有的操作系统需要 Oracle 完全关闭才才可以删除(例如在 WINDOWS NT 中需要关闭数据库,停掉相应的服务,在有的情况下 Oracle 还可能持有文件锁)。

如果你的表空间有多个数据文件,而你不需要表空间中的内容,或者你可以很容易重新生产表空间的内容,你可以使用 DROP TABLESPACE tablespace name INCLUDING CONTENTS; 命令来从 Oracle 数据字典删除表空间、数据文件和表空间的内容。Oracle 不会再访问该表空间中的任何内容。然后重新创建表空间并重新导入数据。

如果你的表空间有多个数据文件,而你还需保留该表空间中的其它数据文件中的内容,则你必须首先 export 出该表空间中的所有内容。为了确定表空间中包含那些内容,运行:

select owner,segment_name,segment_type

from dba_segments

where tablespace_name= name of tablespace

export 出你想保留的内容。如果 export 结束,你可以使用 DROP TABLESPACE tablespace INCLUDING CONTENTS.,这样永久删除表空间的内容,使用操作系统命令物理删除数据文件,按所需数据文件重新创建表空间,把数据 import 至表空间。

注意:

ALTER DATABASE DATAFILE datafile name OFFLINE DROP 命令不能允许你删除数据文件,它的目的是脱机该数据文件以删除表空间。如果在归档模式下,使用 ALTER DATABASE DATAFILE datafile name OFFLINE DROP 来代替 OFFLINE DROP。一旦数据文件脱机,Oracle 不会再访问该数据文件的内容,但它仍然是表空间的一部分。这个数据文件在控制文件中标记 OFFLINE,在数据库启动时不会对它与控制文件进行 SCN 的比较。在控制文件中保留这个数据文件的入口是方便以后的恢复。

如果你不想按照上述方法来删除表空间,还有其它一些解决方法。

1.  如果你想删除数据文件的原因是因为分配了不合适的文件大小,你可以考虑 RESIZE 命令。

2.  如果你不小心增加了一个数据文件,而这个文件还没有分配空间,你可以使用

ALTER DATABASE DATAFILE filename RESIZE; 命令使其小于 5 个 Oracle 块大小,如果数据文件的大小小于这个,Oracle 将不会进行扩展数据文件。在以后,Oracle 可以重建的时候来剔除这个不正确的文件。

感谢各位的阅读!关于“sql 如何删除表空间中某一个数据文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-02-04发表,共计1853字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)