数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
数据库
数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
python
数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
Java
数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
Hadoop
数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
培训

故障描述

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


故障分析

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


检测与恢复


1. 利用 DBV 检测数据文件



数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图一:

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


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


数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图二:


数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图三:


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



数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图四:


数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图五:


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


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



数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图六:



数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle

图六:


结果

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


欢迎加入本站公开兴趣群

软件开发技术群

兴趣范围包括:Java,C/C++,Pythonphp,Ruby,shell等各种语言开发经验交流,各种框架使用,外包项目机会,学习、培训、跳槽等交流

QQ群:204132433


Hadoop源代码研究群

兴趣范围包括:Hadoop源代码解读,改进,优化,分布式系统场景定制,与Hadoop有关的各种开源项目,总之就是玩转Hadoop

QQ群:204050420

主题: 数据HadoopJavaC++RubyPHP开源数据库PythonAU
分页:12
转载请注明
本文标题:数据库文件坏块损坏导致打开时报错,该如何来恢复?Oracle
本站链接:http://www.codesec.net/view/565695.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 大数据技术 | 评论(0) | 阅读(61)