Oracle数据库故障&分析:

一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。

由于数据库没有备份,无法通过备份去恢复数据库。

“system01.dbf需要更多的恢复来保持一致性”,出现这个报错信息可能是由控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等原因所导致。对数据库文件做进一步检测&分析,结果发现sysaux01.dbf文件有坏块。修复并启动数据库后,很多查询报错,export和data pump工具也无法使用。查询告警日志并分析报错,发现就是sysaux文件损坏所导致的上述错误。从数据库层面无法修复数据库。system和用户表空间的数据文件都是正常的,可以尝试利用底层解析数据文件,恢复用户数据。


Oracle数据库检测与恢复:

1、利用DBV检测数据库文件。

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_服务器数据恢复

结果发现SYSAUX01.DBF文件数据块(Data)检测失败的页总数和索引页(Index)检测失败的页总数都有数十页,其他文件检测正常。

2、修复&打开数据库。

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_oracle数据库数据恢复_02

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_数据库数据恢复_03

3、查询数据库报错,使用export和data pump工具时也报错。

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_数据恢复_04

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_数据库数据恢复_05

北亚企安数据恢复工程师进行各种尝试 ,查阅大量资料。最终确认这种数据库内部错误是无法通过命令修复的。

4、底层解析数据库文件,将ZXFG用户的数据导入到新的数据库中。

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_数据库数据恢复_06

Oracle数据恢复—Oracle报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”的数据恢复案例_数据库数据恢复_07

5、用户方检测后,确认恢复出来的数据完整有效。用户方认可数据恢复结果。