truncate表后恢复方法总结

本文介绍了如何恢复Oracle数据库中被truncate操作删除的数据,包括使用fy_recover_data包和gdul工具进行恢复的详细步骤。通过实验展示了这两个免费工具的使用方法,帮助数据库管理员在误操作后找回数据。
摘要由CSDN通过智能技术生成

truncate表后恢复方法总结

 

1.1  BLOG文档结构图

image

 

1.2  前言部分

 

1.2.1  导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

truncate操作后的恢复方法(重点)

 

  Tips:

       ① 若文章代码格式有错乱,推荐使用QQ、搜狗或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://yunpan.cn/cdEQedhCs2kFz (提取码:ed9b 

       ② 本篇BLOG中命令的输出部分需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体注;对代码或代码输出部分的注释一般采用蓝色字体表示

 

  List of Archived Logs in backup set 11

  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

  ---- ------- ---------- ------------------- ---------- ---------

  1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

  1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

  2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

  2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

 

 

 

 

[ZFXXDB1:root]:/>lsvg -o

T_XDESK_APP1_vg

rootvg

[ZFXXDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

 

 

====》2097152*512/1024/1024/1024=1G 

 

 

 

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

 

 

1.2.2  相关参考文章链接

 

 

1.2.3  本文简介

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

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

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

1.3  收费软件

 

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

工具名称

下载地址

作者

软件

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.4  免费软件

1.4.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编写,原理图如下:

wps33F2.tmp 

 

 

包内容:

wps3403.tmp

 

1.4.2  gdul工具

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

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

  GDUL for ORACLE DB.

  Version 4.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

  QQ group: 235019291

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

 

1.4.2.1  gDUL功能特点

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

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

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

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

支持 truncated 表、删除行恢复。

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

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

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

 

 

 

1.4.3  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值