数据库文件坏块损坏导致打开时报错的恢复方法

故障描述
故障主要表现为打开数据库时报错,内容为:“system01.dbf需要更多的恢复来保持一致性数据库无法打开”。经过对数据库文件的检测后初步可得出以下结论:sysaux01.dbf有坏块,sysaux01.dbf文件损坏。急需恢复zxfg用户下的数据。

故障分析
出现上述报错的可能性原因主要有控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。我们对数据库文件进行进一步检测、分析后发现sysaux01.dbf文件有坏块。对其进行修复数并启动数据库后,依然有许多查询报错,export和 data pump工具不能使用,查询告警日志,分析报错,这是由于sysaux文件损坏,导致发生上诉错误。从数据库层面不能修复数据库。system和用户表空间的数据文件都是正常的,可以利用底层解析数据文件恢复用户数据。

检测与恢复
1 利用DBV 检测数据文件
图一:
数据库文件坏块损坏导致打开时报错的恢复方法
分析结果发现SYSAUX01.DBF文件数据块(Data)检测失败40页,索引页(Index)检测失败29页,其他文件检测正常。
2 修复数据库,打开数据库
图二:
数据库文件坏块损坏导致打开时报错的恢复方法 
图三:
数据库文件坏块损坏导致打开时报错的恢复方法
3 查询数据库报错,export 和data pump报错
图四:
数据库文件坏块损坏导致打开时报错的恢复方法
图五:
数据库文件坏块损坏导致打开时报错的恢复方法
进行各种尝试 ,查阅大量资料。数据库的这种内部错误,不能通过命令修复。
4底层解析,将ZXFG用户的数据导入到新的数据库中
图六:
数据库文件坏块损坏导致打开时报错的恢复方法

图六:
数据库文件坏块损坏导致打开时报错的恢复方法

结果
底层解析数据库文件,将zxfg用户的数据导入到新的数据库中,完全恢复用户需要的数据,恢复100%的数据。

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 数据库文件坏块损坏导致打开时报错的恢复方法

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址