您所在的位置:首页 > 成功案例 > ORACLE数据库修复

学习这篇Oracle数据库文件坏块损坏的恢复方法,拓展你的知识面

最新动态来源:本站原创点击数:480更新时间:2019/9/29

一、Oracle数据库系统简介:

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

二、 故障描述

打开oracle数据库报错 “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。北亚数据工程师检测数据库文件发现sysaux01.dbf有坏块,sysaux01.dbf文件损坏。数据库没有备份,不能通过备份去恢复数据库。客户找到北亚数据恢复中心提供了数据库oraclehome目录的所有文件,急需恢复zxfg用户下的数据。

三、 故障分析

“system01.dbf需要更多的恢复来保持一致性”,可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。对数据库文件进一步检测、分析,结果sysaux01.dbf文件有坏块。修复数并启动数据库后,许多查询报错,export和 data pump工具不能使用,查询告警日志,分析报错,由于sysaux文件损坏,导致发生上诉错误。从数据库层面不能修复数据库。system和用户表空间的数据文件都是正常的,可以利用底层解析数据文件,恢复用户数据。

四、 检测与恢复

1 、利用DBV 检测数据文件

分析结果发现SYSAUX01.DBF文件数据块(Data)检测失败40页,索引页(Index)检测失败29页,其他文件检测正常。

 

2 、修复数据库,打开数据库


3 、查询数据库报错,export 和data pump报错


进行各种尝试 ,查阅大量资料。数据库的这种内部错误,不能通过命令修复。

 

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


五、 恢复结果

 

经底层解析数据库文件,将zxfg用户的数据导入到新的数据库中,恢复用户需要的数据。经用户验收后数据无误,至此数据恢复工作结束。