truncate恢复方法集合(第一篇)

truncate操作是比较危险的操作,不记录redo,不能通过闪回查询来找回数据,但是只要段所占用的块没有全部被重新占用的情况下,我们还是可以通过一些特殊的办法来找回truncate掉的数据,因为当Truncate命令发起之后,Oracle实际上并没有在删除底层数据块上的数据,而是要等到重用的时候才会把这一部分数据回收,于是这给了我们一个能够恢复数据库的机会。

总体而言,恢复的办法是通过一些大牛写的工具来恢复,分为收费和免费的,我们下边分别说明。实验部分我们只实验fy_recover_data包和gdul工具。

有的实验是很久之前做的,这篇文章发布太晚,因为中间学习了DUL和BBED的相关知识。

1.1   收费软件

 

这里简单列举一下,具体内容请到相关网站了解:

工具名称

下载地址

作者

软件

ODU

http://www.oracleodu.com/cn/

老熊

命令行操作

PRM-DUL

http://www.parnassusdata.com/

Maclean Liu

图形界面操作

AUL/mydul

http://www.dbatools.net/mydul/

d.c.b.a/楼方鑫

命令行

1.2   免费软件

1.2.1  fy_recover_data包

作者个人信息:

WWW.HelloDBA.COM                                                   

Created By:Fuyuncat                                               

Created Date:08/08/2012                                           

Email:Fuyuncat@gmail.com                                           

Copyright (c),2014, WWW.HelloDBA.COM All rights reserved.         

Latest Version:http://www.HelloDBA.com/download/FY_Recover_Data.zip

该包采用纯plsql语句恢复被truncate掉的表,操作比较简单,下载可以去官网下载,或者小麦苗的云盘共享目录。

 

Fy_Recover_Data是利用Oracle表扫描机制、数据嫁接机制恢复TRUNCATE或者损坏数据的工具包。由纯PLSQL编写,原理图如下:

0?wx_fmt=png1.2.2  gdul工具

GDUL是老耿开发的一款类dul工具,当数据库由于某种原因无法打开时,可以利用GDUL把表数据直接读取出来,工具下载地址参考小麦苗的blog,老耿的信息如下:

*********************************************************************

  GDULfor ORACLE DB.

  Version4.0.0.1, build date: 2016.04.12.

 Copyright (c) 2007, 2016. Andy Geng. ALL RIGHTS RESERVED.

 Email: dbtool@aliyun.com

 WeChat official account: dbtool

  QQgroup: 235019291

*********************************************************************

 

1.2.2.1  gDUL功能特点

完整支持多种格式导出,包括expdp,exp,text格式。目前市面上的类dul工具只有gDUL支持expd格式。

 支持ASM文件系统,并内置asmcmd命令。

支持绝大多数列类型,支持常见的NUMBER,CHAR, VARCHAR2, DATE,LOB, LONG等类型。。其中 SecureFile LOB 支持压缩,尚不支持去重和加密。

支持导出常规表、IOT、Cluster 表、分区表、压缩表。

支持 truncated 表、删除行恢复。

支持常规表空间和 bigfile 表空间。

支持主流硬件平台(HP-UX,AIX, Solaris, Linux, Windows),各个平台仅需单一的可执行文件,方便分发。

重点是——永久免费使用,无需额外费用,不开源。

1.2.3  dul

DUL 是 DataUnloader 的缩写,是一个荷兰的 Oracle 工程师开发的,他的名字为 Bernard Van Duijnen。 DUL 是一个 C 开发的小程序,编译后整个程序只有一个文件,大小也不过几百 KB,它工作时不需 OracleRDBMS 以及任何的 Oracle 的程序、组件,它可以直接从一个坏了数据库的数据文件中读取数据,生成IMP 或 SQL*Loader 可以识别的文件。

DUL 不是一个商用化的产品,Oracle 不卖、不提供也不支持它的使用。DUL 只有在 Oracle 的内部网站才可以下载到,因此也只有Oracle 的 Supporter 才能下载到有这个工具,如果与 Oracle 的 Supporter 熟悉,没准他私底下会给你一个,这个工具也因此有一些流落到民间,被一些人收入囊中,奉为珍宝。

不同的平台、不同版本的数据库都有相应的 DUL 软件,9.x 及之前 DUL 是没有 License限制的,也就是有这个工具可以无限制的使用,不过最新的DUL 在这方面已经改进了,kamus 说最新 DUL 拿到手只能用一个月。

关于这一小点稍总结一下,获得 DUL 有以下几种途径:

如果你是 Oracle 的 Supporter,可以在内部网站下载,地址为:http://www.nl.oracle.com/support/dul/

如果你有 Oracle 的 Supporter的朋友可以向他们要一个,itpub 也几位斑竹都到 Oracle 了,如 coolyl,kamus,lunar。

一些 dul 流落到民间,可以向有这软件的朋友要一个,不过他们不一定有你需要的那个。

所以关于DUL我们不做过多的解释。

1.2.4  bbed来恢复

这个比较复杂,若对oracle不熟悉或者bbed不熟悉都不推荐使用这个,具体案例参考:http://blog.itpub.net/26736162/viewspace-2080727/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jeanron100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值