Oracle中对BIN$开头的垃圾表进行清除的解决办法

oracle drop table时,在10g中bin开头表示已经删除的放在回收站的表,oracle在删除表时并没有彻底的删除,而是把表放入回收站!purge recyclebin清空回收站即可。10g的新特性flashback闪回区

SQL> select * from tab;

TNAME                                                                                                                            TABTYPE        CLUSTERID
-------------------------------------------------------------------------------------------------------------------------------- ------------- ----------
BIN$7asyuy9fdsTgU4oIqMDIyg==$0                                                                                                   TABLE
T02                                                                                                                              TABLE
T01                                                                                                                              TABLE
BIN$7asyuy9idsTgU4oIqMDIyg==$0                                                                                                   TABLE
T03                                                                                                                              TABLE
DEPT                                                                                                                             TABLE
EMP                                                                                                                              TABLE
BONUS                                                                                                                            TABLE
SALGRADE                                                                                                                         TABLE
DETAIL_DEPT                                                                                                                      TABLE
VU10                                                                                                                             VIEW
VUTEST                                                                                                                           VIEW
BIN$7fWMwuLp1IzgU4oIqMDRBA==$0                                                                                                   TABLE
BIN$7fWMwuLr1IzgU4oIqMDRBA==$0                                                                                                   TABLE
BIN$7fWMwuLs1IzgU4oIqMDRBA==$0                                                                                                   TABLE
BIN$7fWMwuLt1IzgU4oIqMDRBA==$0                                                                                                   TABLE

16 rows selected.

SQL>

★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 recyclebin;

Recyclebin purged.

SQL> select * from tab;

TNAME                                                                                                                            TABTYPE        CLUSTERID
-------------------------------------------------------------------------------------------------------------------------------- ------------- ----------
T02                                                                                                                              TABLE
T01                                                                                                                              TABLE
T03                                                                                                                              TABLE
DEPT                                                                                                                             TABLE
EMP                                                                                                                              TABLE
BONUS                                                                                                                            TABLE
SALGRADE                                                                                                                         TABLE
DETAIL_DEPT                                                                                                                      TABLE
VU10                                                                                                                             VIEW
VUTEST                                                                                                                           VIEW

10 rows selected.

SQL> 

 

  •  用来删除指定的表
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)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值