转载

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

对于没有有效物理或逻辑备份的场景,当Oracle中发生delete误操作时 一般会优先考虑使用flashback闪回或logminer日志挖掘等技术来恢复Oracle表中的数据行记录,但很多时候flashback或logminer都无法力挽狂澜。

对于delete操作而言,其对于oracle底层数据块block中的row piece记录一般仅仅是修改其row flag标记为已删除标记,容许后续INSERT的记录覆盖这些被标记为delete的数据,也容许破坏这些delete掉的数据的结构。 换句话说如果delete后没有对表做什么操作的话,直接读取block中的这些被标记为deleted的记录还是有可能读取到完整数据的。

总而言之,是否能恢复这部分delete掉的数据,完全取决于磁盘上oracle block中这部分删除的数据行是否有被最终清理掉。

在被清理掉之前ORACLE PRM-DUL工具都可以尝试把这部分数据恢复出来, 具体步骤与普通的数据字典模式差别很小。

启动PRM-DUL 点击恢复向导  字典模式

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

加入所有oracle数据文件,不需要加入临时文件TEMPFILE、UNDO数据文件、控制文件、日志文件

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

点击load 按钮,PRM会自动加载数据字典 即bootstrap动作

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

至此 PRM左侧将出现 树形的对象树,选择你需要恢复的用户下的对应数据表, 右击对象后选择 unload deleted data

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

PRM-DUL 完成对已删除数据的恢复操作后会将 数据写出到  上图中 File path的位置, 示例的数据恢复情况如下:

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

关注dbDao.com的新浪微博

扫码关注dbDao.com 微信公众号:

PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行 record/rows

原文  http://www.askmaclean.com/archives/prm-undelete.html
正文到此结束
Loading...