win 环境 O/S-Error: (OS 23) 数据错误(循环冗余检查) —恢复
本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客
前几天玩转oracle 总群的一个哥们求助说,数据库坏了,简单的看了下,应该是盘出问题了。
他这里的情况跟eygle以前遇到的某个case完全一样,错误如下:
1 2 3 4 5 6 7 8 9 |
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' |
详情可以参考eygle的博客 http://www.eygle.com/archives/2011/06/ora_01115_io.html
不过未说明具体的恢复过程,较为遗憾。
这哥们这里不同的是损坏的文件是某个业务数据文件而非system文件,也是由于datafile header
出现问题。虽然是windows环境,不过我仍然用dbv和dd进行了检查。
1 2 3 4 5 6 7 |
C:\>dbv file=D:\oracle\product\10.2.0\oradata\iom\TBS_IOM_PROD4 blocksize=8192 DBVERIFY: Release 10.2.0.1.0 - Production on 星期三 7月 13 15:24:20 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. DBV-00102: FILE (D:\oracle\product\10.2.0\oradata\iom\TBS_IOM_PROD4) 在 verification read 操作 (-2) 期间出现文件 I/O 错误 |
在用dbv检测的过程中,上面所报的DBV-00102错误,metalink 上提供了一个将datafile resize 变大一个block,
然后再resize回原状的方法来避免这个错误,但是在这里显然也是不能成功,因为这是物理损坏。
或许大家或许会跟那位网友有一样的疑问,我是如何知道是数据文件头坏了呢?很简单,下面我通过dd就能看出了,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
C:\>dd if=D:\oracle\product\10.2.0\oradata\iom\TBS_IOM_PROD4 of=D:\dd.dbf bs=8192 count=100 rawwrite dd for windows version 0.6beta3. Written by John Newbigin <jn@it.swin.edu.au> This program is covered by terms of the GPL Version 2. Error reading file: 23 数据错误(循环冗余检查)。 1+0 records in 1+0 records out C:\>dd if=D:\oracle\product\10.2.0\oradata\iom\TBS_IOM_PROD4 of=D:\dd.dbf skip=2 bs=8192 count=100 rawwrite dd for windows version 0.6beta3. Written by John Newbigin <jn@it.swin.edu.au> This program is covered by terms of the GPL Version 2. skip to 16384 100+0 records in 100+0 records out |
由于这是一个非归档,无备份的环境(再次强调备份的重要性),用eygle的话说,只能通过bbed或其他极端手段来修复。
恢复方法是复制一个完整的file header block(用dd),然后再用bbed或UE去手工修改),当然这里建议使用bbed,用ue去修复
太困难,太麻烦了,反正我是看不明白,看起来就眼花。
这个较为极端的case,跟大家分享。
Leave a Reply
You must be logged in to post a comment.