故障描述
故障主要表现为打开数据库时报错,内容为:“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% 的数据。
文章来源:ITPUB

从事数据库很多年还停留在操作者水准?只懂招式,不会内功,一定程度上会削弱您的战斗力,《数据库系统实现技术内幕》这门内功级课程,会将原理与数据库构造内幕结合,庖丁解牛式讲解助您快速上升至专家水准。点击下方二维码报名课程





