我是靠谱客的博主 优美毛巾,最近开发中收集的这篇文章主要介绍oracle 减少表空间,oracle下正确删除表空间的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Oracle因为本身的多重验证机制所有在删除表空间时不像MySQL中删除database一样,可以通过外部的删除直接删除掉database文件夹就可以删除掉database,当然这两者是2种不同的东西,在此仅用于举例说明。在Oracle中表空间相当于系统中的硬盘,Oracle可以通过修改配置表空间来对Oracle下的数据进行存储,所以在Oracle下表空间是非常重要的,尤其是在表空间文件处理不当都会造成Oracle的不稳定,在此就说一说如何正确的删除Oracle的表空间。

删除表空间时,需要确定在没有数据使用时或者该表空间的数据确定不要时候才能继续,所以在任何删除之前,需要让表空间离线,如下:SQL> alter tablespace tablespace_name offline;

在使表空间正确的离线后,才能对表空间进行正确的删除的操作,而删除表空间又分为几种情况,使用也很简单,如下:--删除空的表空间,但是不包含物理文件

SQL> drop tablespace tablespace_name;

--删除非空表空间,但是不包含物理文件

SQL> drop tablespace tablespace_name including contents;

--删除空表空间,包含物理文件

SQL> drop tablespace tablespace_name including datafiles;

--删除非空表空间,包含物理文件

SQL> drop tablespace tablespace_name including contents and datafiles;

--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS

SQL> drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

要注意的是这些操作都需要使用DBA用户才能操作,而在需要删除表空间的物理文件时需要格外的注意,不然一旦删除表空间的物理文件,Oracle的数据是无法恢复的,Oracle的表空间物理文件的路径在创建表空间时就有定义,当然如果忘记了,可以查询Oracle的系统表来查询:SQL> select file_name,tablespace_name from dba_data_files;

如何是在删除表空间时忘记删除相应的物理文件,需要在Oracle停止后直接用系统手工删除其物理文件,切记不可在Oracle运行时直接删除

当然,还有更多的查询方式在以前有写过Oracle下的常用的系统表和系统视图,在此就不做过多的说明,需要的可以参看:http://jim123.blog.51cto.com/4763600/1947872

最后

以上就是优美毛巾为你收集整理的oracle 减少表空间,oracle下正确删除表空间的方法的全部内容,希望文章能够帮你解决oracle 减少表空间,oracle下正确删除表空间的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部