问题描述
如果我问你:数据系统最担心的情况是什么?
我的答案大约是:硬件(硬盘)故障。 ---因为通常硬件故障无可避免,必然发生,而且不可逆转。
那么最悲惨的情况是什么?
我说:莫过于在发生硬件故障之后,发现没有数据备份。
以上这些情形在现实中屡见不鲜。
前一段在某客户的系统中,就遇到了硬盘故障导致的数据库问题,仅仅是一个扇区损坏,碰巧位于数据文件上,就导致了如下错误:
Mon Jun 13 09:14:10 2011 Errors in file f:\oracle\admin\yydb\udump\yydb1_ora_3960.trc: ORA-01110: 数据文件 11: 'F:\ORACLE\ORADATA\YYDB\NDNS001.ORA' ORA-01115: 从文件 11 读取块时出现 IO 错误 (块 # 1) ORA-27070: skgfdisp: 异步读取/写入失败 OSD-04016: 异步 I/O 请求排队时出错。 O/S-Error: (OS 23) 数据错误(循环冗余检查)。 ORA-01113: 文件 1 需要介质恢复 ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\YYDB\SYSTEM01.DBF'
当从系统访问文件时,出现"循环冗余检查",无法读取和复制文件,数据库也无法访问该文件,数据库使用受损,导致了严重的业务故障。
专家解答
在这种情况下,通常的手段就无能为力了,然后我们可以通过DD等工具,将该文件完好的部分DD出来,还原成一个独立的文件或文件碎片,然后修复该文件,可以完成数据恢复。
在这个案例中,坏块位于数据文件头部,我们复制了其他部分之后,使用BBED修复了数据文件头块(Header Block)就完成了数据恢复。
这是一则非常幸运的恢复,但是事故总是警告我们:备份不可一日或缺。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。