快速恢复truncate后的表的方法
作为一个数据库运维人员,在工作中经常会遇到truncate表后需要找回数据的情况。然而,由于truncate表后没有日志记录和回滚机制,不能使用常规在线方式恢复,更不能使用闪回恢复。在没有备份和归档的情况下,有没有更加迅捷的方法来恢复数据呢?

存储过程包Fy_Recover_Data,是一位资深DBA朋友通过PLSQL编写的,它可以快速恢复truncate或者损坏的表数据。Fy_Recover_Data包的工作原理是利用Oracle表扫描机制和数据嫁接机制恢复数据。具体使用操作过程如下:
使用操作过程
- 将Fy_Recover_Data包拷贝至数据库主机相关目录下。
- 创建测试表并用truncate删除其中数据。
- 在linux中的oracle用户下解压FY_Recover_Data.zip包。
- 在sys用户下执行存储过程。
- 通过脚本恢复数据。
- 删除相关表空间和数据文件。
使用注意事项
使用Fy_Recover_Data包进行数据恢复需注意以下两点:
- truncate后需要保证没有新的数据进入表中,否则无法还原。
- 存放该表的数据文件块不能被覆盖,否则无法完整还原数据。
当然,希望大家在工作中永远不要用到这个package。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5853.html
