暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle利用未成功的备份来恢复除数据外的对象

原创 王旭 2024-12-20
28

 oracle利用未成功的备份来恢复除数据外的对象

1、背景

朋友联系到我,说昨天升级了业务,升级完成后发现有几个包体或过程被覆盖了,但备份是失败的,问我能恢复吗
复制

2、分析思路和处理过程

思路:
了解到问题后,我远程过去看了看:
1、确认数据库是否开归档
2、确认是否真的是他所说的备份是失败的
3、确认是否有其他人在远程分析处理该问题。

**数据库未开归档,且redo日志被覆盖,无法通过日志恢复。
**备份文件只备份了一半,就报了快照过旧的错误。
**我远程过去的时候,该用户的维保单位正在处理,据他介绍他们做的备份一体机也未成功,搞了几个小时都未解决该问题,才联系到我。

处理过程(由于时间紧迫未截图,自行脑补):
找到服务器上的坏的dmp备份,利用impdp生成sql将数据搞了出来,从远程到问题处理不超过5分钟。
impdp \' / as sysdba \' directory=exp_dir sqlfile=cre_package.sql  dumpfile=xx.dmp logfile=xx.log cluster=n include=PACKAGE,PROCEDURE

在服务器本地做如上操作,将sql提取出来完成了恢复。
复制

3、总结

数据泵备份到表就报错了,并不代表备份是无效的,只是到表的位置就截止了,我们要得是元数据,依然可以从dmp当中提取。如果dmp也有损坏的情况,那么只有通过抽取dmp中的关键信息进行恢复。
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论