Oracle数据恢复:错误叠加导致灾难不可恢复解决办法
客户第一次找我的时候,我告诉他,把硬盘拿给我们,我们可以将其中的数据恢复出来。
第二天客户说,硬盘被格式化重做了系统。
客户第二次找我时,我说,把剩余的三个文件给我,我可以帮你挽救其中残存的有用数据。
第二天客户说,已经拿备份,把那三个文件刷新覆盖了。
这个故事给我们的警戒是:备份,备份,备份,再多一份也不算多;故障处理,再加一万个小心也不算多。
最初的一个简单故障,在层层错误之后,彻底不可挽回,这是多年来我见到最富有戏剧性的恢复案例。
看一看这个故障的信息,首先是一个写错误,Windows中比较典型和常见的存储访问错误:
代码如下 | 复制代码 |
Sat Sep 23 18:44:51 2011 KCF: write/open error block=0x35673a online=1 Sat Sep 23 18:44:51 2011 KCF: write/open error block=0x25eba4 online=1 file=124 D:DTAPRODTA02.DBF error=27070 txt: 'OSD-04016: 异步 I/O 请求排队时出错。 O/S-Error: (OS 2) 系统找不到指定的文件。' ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode ORA-01114: IO error writing block to file 124 (block # 24856) ORA-01110: data file 124: 'D:DTAPRODTA02.DBF' ORA-27070: skgfdisp: async read/write failed OSD-04016: 异步 I/O 请求排队时出错。 O/S-Error: (OS 2) 系统找不到指定的文件。 |
再然后,恢复使用了一个4月份的备份,又覆盖了挽救回来的文件:
代码如下 | 复制代码 |
Sun Sep 24 20:58:32 2011 The input backup piece G:BCKDB_T20110421_S111_P1 is in compressed format. |
补充:数据库,Oracle教程