truncate恢复方法集合(第一篇)
【转载声明】本文为转载文章,原作者「李华荣」,版权归原作者所有。 原文链接:https://mp.weixin.qq.com/s/4NYF3HQ74CdiWDrYjVNrng
公众号:杨建荣的学习笔记 · 作者:李华荣 · 发布:2016-04-23 23:17:23 · 原文链接
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编写,原理图如下:

1.2.2 gdul工具
