Backup&Recovery
2011-09-29
Oracle数据恢复:错误叠加导致灾难不可恢复
上周,有客户的数据库系统遭遇到了一次严重的灾难。主机访问不到硬盘,系统在本地硬盘残存了三个文件,其余文件存储于SSD构成的RAID组上,客户在出现问题后,草率的重构了RAID,导致了数据不可恢复;然后开发商介入恢复了2个月前的一个备份,又毫无心机的覆盖了没有备份残存的三个文件;最终结果的是无法恢复。
然后召集人马,开始重新补录数据。
这个故事的警戒之处在于:
客户第一次找我的时候,我告诉他,把硬盘拿给我们,我们可以将其中的数据恢复出来。
第二天客户说,硬盘被格式化重做了系统。
客户第二次找我时,我说,把剩余的三个文件给我,我可以帮你挽救其中残存的有用数据。
第二天客户说,已经拿备份,把那三个文件刷新覆盖了。
这个故事给我们的警戒是:备份,备份,备份,再多一份也不算多;故障处理,再加一万个小心也不算多。
最初的一个简单故障,在层层错误之后,彻底不可挽回,这是多年来我见到最富有戏剧性的恢复案例。
看一看这个故障的信息,首先是一个写错误,Windows中比较典型和常见的存储访问错误:
Sat Sep 23 18:44:51 2011KCF: write/open error block=0x35673a online=1Sat Sep 23 18:44:51 2011KCF: write/open error block=0x25eba4 online=1file=124 D:\DTA\PRODTA02.DBFerror=27070 txt: 'OSD-04016: 异步 I/O 请求排队时出错。O/S-Error: (OS 2) 系统找不到指定的文件。'ORA-01242: data file suffered media failure: database in NOARCHIVELOG modeORA-01114: IO error writing block to file 124 (block # 24856)ORA-01110: data file 124: 'D:\DTA\PRODTA02.DBF'ORA-27070: skgfdisp: async read/write failedOSD-04016: 异步 I/O 请求排队时出错。O/S-Error: (OS 2) 系统找不到指定的文件。
再然后,恢复使用了一个4月份的备份,又覆盖了挽救回来的文件:
Sun Sep 24 20:58:32 2011The input backup piece G:\BCK\DB_T20110421_S111_P1 is in compressed format.
然后,就没有然后了。
历史上的今天
- 2018-09-29 慧据价值 链接未来丨第八届数据技术嘉年华大会盛大开启
- 2017-09-29 DBA将要彻底失业吗?Oracle推出Autonomous自治数据库
- 2010-09-29 还能更流氓么 - 电信ADSL植入广告可耻行为
- 2009-09-29 工作记录: 2亿记录的导入及索引创建
- 2009-09-29 Oracle impdp的ignore及 fromuser / touser 功能
- 2007-09-29 在路上 在彩云之南 在宣威
- 2006-09-29 《读库》第五期 阅读的乐趣
- 2005-09-29 靓颖来公司的访谈-靓颖靓照
这个DBA也确实该走,连备份都没做的DBA还配叫DBA嘛,纯粹混日子
生产库还是 NOARCHIVELOG mode 天灾? 人祸?
eygle,该用户使用的是什么存储,谢谢!
IBM的存储,这类事情其实并不少见。
此次数据灾难,主要是策略不得当所致,在无序、混乱的机制下恢复数据,实在是自取灭亡。客户DBA在结剧中完全是个替罪羊!
故事的亮点是,eygle的最后那句话:然后,就没有然后了。