zoukankan      html  css  js  c++  java
  • Oracle中清除BIN$开头的垃圾表的解决办法 [转]

    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)
  • 相关阅读:
    [Redis知识体系] 一文全面总结Redis知识体系
    MySQL数据导入到ClickHouse
    docker本地搭建clickhouse
    【linux】修改宝塔默认的PHP CLI版本
    windows 10 安装go环境
    docker安装centos8
    Bootstrap 简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。
    C#调用WebService
    登录时,记住用户的帐号密码
    asp.net,cookie,写cookie,取cookie
  • 原文地址:https://www.cnblogs.com/songjinduo/p/5206642.html
Copyright © 2011-2022 走看看