love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

imp/impdp 覆盖schema后如何恢复数据

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

本文链接地址: imp/impdp 覆盖schema后如何恢复数据

近期有客户不小心把测试用户数据通过impdp replace导入到了生产用户上;结果可想而知;幸运的是数据库有归档;不幸的是数据库没有打开force logging,也没有开启附加日志等.  不难想像;通过logminer来挖掘归档进行数据恢复可能会导致一些数据丢失.

如下是整个处理思路和简单流程(操作有风险,尤其是构造数据字典,入遇到该问题,请联系我们):

这里要补充一点的是,逻辑恢复是非常麻烦的;其实还需要考虑到很多表没有主键,申请业务操作时不带主键进行DML操作.  实际上我们自己测试发现即使表上存在主键;没有基于主键添加附加日志的话;logminer的结果都带rowid. 对于update操作来讲,可能会有一些数据丢失,因为无法判断数据唯一性;直接提取脚本并进行执行,可能导致数据紊乱.尤其是客户这种财务系统(甚至EBS环境等);对于业务表数据关联性极强的环境.

总的来说只能做到数据最大层面恢复,后期需要业务层面多多配合才行,单从DB层面非常困难;这实际上跟业务特点也有关系.当然如果数据量较小;甄别相对容易;如果是数百万甚至更大量级,还是非常困难的。

 

 

Leave a Reply

You must be logged in to post a comment.