博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle数据库清理
阅读量:6999 次
发布时间:2019-06-27

本文共 1397 字,大约阅读时间需要 4 分钟。

使用Truncate:清理并回收空间,(mysql,sqlserver等有自增序列的数据库将序列归零),无法恢复,不能回滚;
使用drop:删除表,但不回收空间,可以恢复,不能回滚;
使用delete:删除记录,不回收空间,可恢复,可回滚;
 
1. 使用drop和delete之后如何恢复?
使用flashback语句
flashback table test2 to before drop ;
 
查询回收站
select * from dba_recyclebin;   
如果不知道原表名或有多个相同表在不同时间被drop,也可以直接使用回收站中的名称进行闪回。
例如: FLASHBACK TABLE  "BIN$b2q1qVWuQZy+1TAWJ0M+OA==$0"  TO  BEFORE DROP;   
这样就知道是恢复哪个时间drop掉的表了。
Oracle10g以前,Drop table后,那么该表就会从数据字典里被删除。但是Oracle10g中在drop table(非purge)后只是在数据字典中对被删除的表进行重命名,并没有真的把表从数据字典中删除,而用来维护被删除前的表的名字和后面重新生成的表名字之间的关系的数据字典表,我们称之为“回收站”(recycle bin), 当drop table(没有加 purge)的时候,索引,触发器也会一起进入回收站。
回收站中的对象将一直存在,直到用户决定永久删除它们,使用PURGE命令对回收站空间进行清除; 或是出现表空间的空间不足时它们才会被删除。
注意: 虽然只是数据字典中的表名(当然可能还有索引名,trigger名)发生变化(一般会变成类似BIN$Phio9oeiQYESLIAUICKSE==$0),但是实体的数据等还是存放在原表的表空间中。
回收站中表名的格式:   BIN$globalUID$Sversion ,  globalUID是一个全局唯一的标识对象,长度为24个字符。它是Oracle内部使用的标识。$Sversion是数据库分配的版本号。
 
 
2.  使用drop表和delete之后如何回收表空间?
使用Purge语句
 
可直接使用以下语法彻底删除表并回收空间
DROP TABLE TABLE_NAME PURGE ;
 
回收站可以提供误操作后进行恢复的必要信息,但是如果不经常对回收站的信息
进行管理的话,磁盘空间会被长时间占用,因此要经常清除回收站中无用的东
西。要清除回收站,可以使用PURGE命令。PURGE命令可以删除回收站中的
表、表空间和索引,并释放表、表空间和索引所占用的空间。PURGE命令语法
格式如下:
        PURGE TABLE table_name ;
        PURGE INDEX index_name ;   
        PURGE RECYCLEBIN ;
        PURGE DBA_RECYCLEBIN  ;
        PURGE TABLESPACE tablespace_name USER username ;  
(1) TABLE指示清除回收站中的表。
(2) INDEX指示清除回收站中的索引。
(3) TABLESPACE指示清除回收站中的表空间。
(4) RECYCLEBIN指的是当前用户需要清除的回收站。
(5) RECYCLEBIN仅SYSDBA系统权限才能使用,此参数可使用户从Oracle系统回收站清除所有对象。

转载地址:http://ysevl.baihongyu.com/

你可能感兴趣的文章
搞不清边缘计算几款产品差异?动动小手点这里!
查看>>
Java基础【三】 - 常用类库:java.lang.Enum
查看>>
jsonp跨域实现百度首页联想功能
查看>>
推荐一个php7+ mongodb三方类
查看>>
JDK8安装与环境变量配置
查看>>
Grafana文档(配置)
查看>>
前端异步那些年
查看>>
mac 下使用PHPSTROM连接docker的xdebug
查看>>
JS 里的类型
查看>>
监听浏览器的后退事件
查看>>
opencv python 基于KNN的手写体识别
查看>>
能在编码时做的事,就不要推迟到运行时
查看>>
【Chrome】对ios-safari移动端的H5页面进行调试(ios-webkit-debug-proxy)
查看>>
JavaScript之变量提升
查看>>
简单实现 ES6 Promise
查看>>
配置mail使用SMTP发送邮件
查看>>
个人服务器常用基础配置
查看>>
前端进阶系列-目录
查看>>
<Solidity学习系列二>深入理解Solidity之二---Solidity源代码文件结构
查看>>
基于bluestore的rocksdb的调优,测试ceph-4K-randwrite性能
查看>>