今天在SOA应用数据库上运用DBMS_REDEFITION包进行在线非分区表转换分区表操作时,本想DROP掉建的临时表cube_scope_temp不小心后面忘记加"temp"直接执行了,我等意识到这个问题的时候已经晚了,因为项目建设等遗留问题,数据库是非归档模式,也没有做备份,因为怕影响业务,一时也没想到oracle回收站recyclebin这个方法,直接将备份的建表语句新建了表,保证了业务正常开展,正苦于怎么恢复数据时,突然想oracle 10g提供了回收站这个特性,成功实施数据恢复!     oracle 回收站recyclebin是10g才有的新特性,当我们drop table cube_scope 【purge】时,如果不指定purge时,系统只是将这个表重命名为BIN$开头的名称,并在数据字典中修改了相关数据,表所占用的物理空间并没有真正的回收,此时所占用的空间还是原来的表空间,当表空间不够用时,ORACLE会跟据DROPSCN#自动进行逐个清理回收站中对像所占用的空间,10g默认是打开回收站功能的。 一、如何查看是否开启回收站功能? SQL> show parameter recyclebin      NAME                                 TYPE        VALUE      ------------------------------------ ----------- ------------------------------      recyclebin                           string      on      on:表示表空间启用的回收站功能,建议所有数据都开启这个功能,百利而无一害!      备注:该参数可以设置成session级别打开,也可以设置成system级别,不用重启就可以生效 二、如何不经过回收站直接删除并释放所占用空间? SQL> drop table cube_scope purge      备注:此命令相当于truncate+drop操作,一般不建议这么操作! 三、如何将回收站recyclebin中的对像还原? SQL> flashback table cube_scope to before drop      表名可以是回收站系统的dba_recyclebin.object_name也可以是dba_recyclebin.original_name      但是此时问题来了,我已经用备份的DDL语句重建了一个新的表,这个时候再用此命令还原显然会报错,这个时候怎么办呢,只能还原成一个别名,具体操作命令是 SQL> flashback table cube_scope before drop rename to cube_scope_old      既然恢复了删除前的表中数据,现在只能从cube_scope_old中的数据插入cube_scope中 SQL> insert into cube_scope select * from cube_scope_old t      成功恢复了数据,是不是可以收工了?没有,还有什么忘记做了?想想?      注意:如果将表drop掉,那么索引也被drop掉了,用这种方法把表找回来了,但是你的索引呢?你的约束呢?表恢复后一定要将表上的索引重建建立起来(切记),索引丢了最多影响性能,约束没了可能会造成业务数据混乱(一定要注意) 四、如何手工清除回收站中的对像? SQL> purge table orabpel.cube_scope_old --清除具体的对像     注意:如果此时是DBA用户操作其它用户数据,清除回收站中的表时要加上用户名,否则报表不在回收站中 SQL> purge tablespace ORAPEL   --清除指定的表空间对像 SQL> purge tablespace ORAPEL user orabpel --删除表空间指定用户下的所有对像 SQL> purge recyclebin  --清空整个回收站 五、show recyclebin为什么没有数据呢?     首先们需要明白一点,recyclebin是user_recyclebin的同义词,如此你当前的登陆用户是system此时运用 show recyclebin是没有数据据的 六、如果同一对像多次删除怎么在recyclebin中识别?     dba_recyclebin中对每删除一个对像都会以BIN$进行命名,同时会有相应的dropscn、createtime、droptime可以跟据这些对像进行定位,然后进行恢复 七、ORACLE空间利用原则     1. 使用现有的表空间的未使用空间     2. 如果没有了空闲空间,则检查回收站,对于回收站的对象按照先进先出的原则,对于最先删除的对象,        oracle在空间不足之时会最先从回收站删除以满足新分配空间的需求     3. 如果回收站也没有对象可以清理,则检查表空间是否自扩展,如果自扩展则扩展表空间,然后分配新空        间     4.如果表空间非自扩展,或者已经不能自扩展(到达最大限制),则直接报表空间不足错误,程序终止 八、DROP掉的对像是不是都会经过回收站?     以下几种drop不会将相关对像放进回收站recyclebin中     * drop tablespace :会将recyclebin中所有属于该tablespace的对像清除     * drop user :会将recyclebin中所有属于该用户的对像清除     * drop cluster : 会将recyclebin中所有属于该cluster的成员对像清除     * drop type : 会将recyclebin中所有依赖该type对像清除     另外还需要注意一种情况,对像所在的表空间要有足够的空间,不然就算drop掉经过recyclebin由于空间不足oracle会自动删除的哦(切记)!

oracle recyclebin详解,oracle recyclebin详解相关推荐

  1. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  2. Oracle中序列(Sequence)详解

    Oracle中序列(Sequence)详解 一 序列定义 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).不占用磁盘空间,占用内存. 其主要用 ...

  3. oracle imp 1403,Oracle中用exp/imp命令参数详解【转】

    Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]: 1  将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 expsyste ...

  4. oracle中调试存储过程,详解Oracle调试存储过程

    详解Oracle调试存储过程 一 调试关键步骤 1.在要调试的存储过程右键,选择编辑以进行调试,截图如下: 2.点击小瓢虫,弹出调试窗口,截图如下: 3.输入7839员工编号,点击确认,进行调试,截图 ...

  5. 在oracle中游标的操作,Oracle中的游标和函数详解

    Oracle中的游标和函数详解 1.游标 游标是一种 PL/SQL 控制结构:可以对 SQL 语句的处理进行显示控制,便于对表的行数据 逐条进行处理. 游标并不是一个数据库对象,只是存留在内存中. 操 ...

  6. Oracle数据库备份和恢复配置详解

    本文Oracle讲述了数据库备份和恢复配置的详解过程,可能的失败及其解决方法. 失败类型 遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一 ...

  7. oracle通过dblink连接mysql配置详解(全Windows下)

    oracle通过dblink连接mysql配置详解(全Windows下) 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也 ...

  8. oracle加密传输的种子,oracle net manager 数据传输安全步骤详解

    简介 Net Manger可以管理服务命名和监听程序. 所谓监听程序就是一个Oracle服务器上进程,负责监听/响应客户端对Oracle服务的请求.之前我们在安装数据库实例时,同时已经安装了一个监听程 ...

  9. 详解Oracle架构、原理、进程,学会世间再无复杂架构

    详解Oracle架构.原理.进程,学会世间再无复杂架构 学习是一个循序渐进的过程,从面到点.从宏观到微观,逐步渗透,各个击破,对于Oracle, 怎么样从宏观上来理解呢?先来看一个图,这个图取自于教材 ...

最新文章

  1. deeplearning搜索空间
  2. java软件下载jar_qdox.jar免费版
  3. Java Collection
  4. r 多元有序logistic回归_R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用...
  5. WP7上Metro风格的程序栏图标汇总
  6. class根据状态 vue_系统学习 vue 中使用 css 的各种方式
  7. 安装Ubuntu之后一定要安装Docky
  8. 利用用户级线程提高多线程应用的性能
  9. 请教:如何进行存储过程的调试
  10. 如果奇迹有颜色,那么一定是暴力or模拟比较6
  11. 最强 IOS系统改定位
  12. Overfeat 笔记
  13. 青浦区服务器维修,青浦区DNS服务器地址
  14. elementUI中table的表头设置提示tooltips
  15. GDOU geek alan 简单java代码:三个和尚身高问题
  16. Java 中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO 的概念
  17. Unity子物体脱离父物体,解除父子关系,子物体不随父物体移动
  18. Docker Pull非常缓慢(使用阿里云镜像加速器)
  19. leaflet实现动态地图风场效果
  20. JavaAPI操作Hive

热门文章

  1. python基础===pip安装模块失败
  2. chrome 扩展开发注意事项
  3. 基于OpenGL编写一个简易的2D渲染框架-03 渲染基本几何图形
  4. ***PHP中判断变量为空的几种方法
  5. WinAPI: PtInRect - 判断点是否在矩形中
  6. COMMIT WORK AND WAIT 是在WAIT什么
  7. createDocumentFragment
  8. ok6410 u-boot-2012.04.01移植六完善MLC NAND支持
  9. [仙剑四]仙剑四十大经典语句评析
  10. 搭建WSS 开发测试环境