首页 > 数据库技术 > 详细

Oracle中清除BIN$开头的垃圾表的解决办法 [转]

时间:2016-02-22 13:37:07      阅读:267      评论:0      收藏:0      [点我收藏+]
oracle drop table的时候,不会彻底删除该表,它将drop的表放到了自己的回收站里,放到回收站的表就是我们看到的形如bin$/rt62vkdt5wmrjfcz28eja==$0的表,其中包含了表的结构定义信息和数据。
10g的新特性flashback闪回区
    在10g中bin开头表示已经删除的放在回收站的表,oracle在删除表时并没有彻底的删除,而是把表放入回收站!purge recyclebin清空回收站即可。
 
recyclebin字典★
 
当误删除某些表时,可以通过命令恢复回来:
 flashback table table_name to before drop;
 
 查看是否开启了闪回功能:
 select flashback_on from v$database;
 
 如果确定某些表确实可以删除,可以使用下面的语句,就不会出现BIN$开头的表了
 drop table table_name purge;
 
 
删除Bin开头的表,即已经drop但存在于回收站中的表:
 
查询所有此类表
SQL> select * from recyclebin where type=‘TABLE‘;
 
用来删除回收站中所有的表
SQL> PURGE RECYCLEBIN     -------这语句就能清除所有以BIN开头的残留文件
 
 用来删除指定的表
SQL> PURGE TABLE TABLE_NAME
 
 用来闪回被删除的表
SQL> FLASHBACK TABLE table_name TO BEFORE DROP;
 
 
可以在的Drop表时不产生Bin型表
SQL> DROP TABLE "TableName" purge;
 
 
设置falshback功能的开启和关闭
 SQL>startup mount
 SQL>alter database flashback on(off)

Oracle中清除BIN$开头的垃圾表的解决办法 [转]

原文:http://www.cnblogs.com/songjinduo/p/5206642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!