windows Oracle数据文件大小为0的恢复case
本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客
本文链接地址: windows Oracle数据文件大小为0的恢复case
一个网友的数据库部署在windows环境,可能是由于存储问题或者windows本身文件系统的问题,出现IO问题之后,最后数据库重启之后,竟然无法启动了,报错无法读取其中的几个文件,alert log如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
Nov 14 12:33:12 2014 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m001_1704.trc (incident=60577): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INC_METER_INFO.ams], [16], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 17) 系统无法将文件移到不同的磁盘驱动器。 ...... ...... Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_4676.trc (incident=92621): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCCKEY.ams], [21], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 22) 设备不识别此命令。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_4676.trc (incident=92622): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCCKEY.ams], [22], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 23) 数据错误(循环冗余检查)。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_4676.trc (incident=92623): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCCKEY.ams], [25], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 26) 无法访问指定的磁盘或软盘。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_4676.trc (incident=92624): .......... ORA-00600: internal error code, arguments: [17182], [0x00DCD3560], [], [], [], [], [], [], [], [], [], [] ORA-00600: internal error code, arguments: [17147], [0x00DCD3560], [], [], [], [], [], [], [], [], [], [] Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92644\orcl_m000_3176_i92644.trc. ........ Starting up: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production. Using parameter settings in server-side spfile D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA ........ Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_6008.trc (incident=92872): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92872\orcl_m000_6008_i92872.trc Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_6008.trc (incident=92873): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92873\orcl_m000_6008_i92873.trc Successful mount of redo thread 1, with mount id 1391358302 Trace dumping is performing id=[cdmp_20141114143618] Database mounted in Exclusive Mode Lost write protection disabled Trace dumping is performing id=[cdmp_20141114143619] Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_6008.trc (incident=92874): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 ORA-48101: error encountered when attempting to read a file [block] [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams] [0] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92874\orcl_m000_6008_i92874.trc Completed: ALTER DATABASE MOUNT Fri Nov 14 14:36:20 2014 ALTER DATABASE OPEN Read of datafile 'D:\ORACLE\ORADATA\ORCL\ZL9BASEITEM.DBF' (fno 6) header failed with ORA-01200 Rereading datafile 6 header failed with ORA-01200 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_ora_2876.trc: ORA-01122: 数据库文件 6 验证失败 ORA-01110: 数据文件 6: 'D:\ORACLE\ORADATA\ORCL\ZL9BASEITEM.DBF' ORA-01200: 10240 的实际文件大小小于 44800 块的正确大小 ORA-1122 signalled during: ALTER DATABASE OPEN... Trace dumping is performing id=[cdmp_20141114143621] Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_6008.trc (incident=92875): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 ORA-48101: error encountered when attempting to read a file [block] [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams] [0] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92875\orcl_m000_6008_i92875.trc Fri Nov 14 14:36:21 2014 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m001_5816.trc (incident=92880): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\HM_RUN.ams], [26], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 27) 驱动器找不到请求的扇区。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_92880\orcl_m001_5816_i92880.trc Trace dumping is performing id=[cdmp_20141114143622] Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_6008.trc (incident=92876): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 ORA-48101: error encountered when attempting to read a file [block] [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams] [0] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Fri Nov 14 14:37:18 2014 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_5340.trc (incident=92877): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_5340.trc (incident=92878): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCCKEY.ams], [25], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 26) 无法访问指定的磁盘或软盘。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_5340.trc (incident=92879): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INC_METER_INFO.ams], [16], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 17) 系统无法将文件移到不同的磁盘驱动器。 ....... ORA-00600: internal error code, arguments: [17114], [0x010F35330], [], [], [], [], [], [], [], [], [], [] ORA-48312: Sweep incident 92687 staging file failed ORA-00600: internal error code, arguments: [17182], [0x010F35330], [], [], [], [], [], [], [], [], [], [] ORA-00600: internal error code, arguments: [17147], [0x010F35330], [], [], [], [], [], [], [], [], [], [] Fri Nov 14 14:38:18 2014 .......... .......... Fri Nov 14 14:53:15 2014 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_3144.trc (incident=108895): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_108895\orcl_m000_3144_i108895.trc Successful mount of redo thread 1, with mount id 1391370839 Database mounted in Exclusive Mode Lost write protection disabled Completed: alter database mount exclusive alter database open Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_dbw0_2808.trc: ORA-01157: cannot identify/lock data file 8 - see DBWR trace file ORA-01110: data file 8: 'D:\ORACLE\ORADATA\ORCL\ZL9EXPENSE.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_dbw0_2808.trc: ORA-01157: cannot identify/lock data file 13 - see DBWR trace file ORA-01110: data file 13: 'D:\ORACLE\ORADATA\ORCL\ZL9EPRDAT.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_dbw0_2808.trc: ORA-01157: cannot identify/lock data file 15 - see DBWR trace file ORA-01110: data file 15: 'D:\ORACLE\ORADATA\ORCL\ZL9INDEXHIS.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_dbw0_2808.trc: ORA-01157: cannot identify/lock data file 16 - see DBWR trace file ORA-01110: data file 16: 'D:\ORACLE\ORADATA\ORCL\ZL9INDEXCIS.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。 Read of datafile 'D:\ORACLE\ORADATA\ORCL\ZL9BASEITEM.DBF' (fno 6) header failed with ORA-01200 Rereading datafile 6 header failed with ORA-01200 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_ora_3380.trc: ORA-01122: ????? 6 ???? ORA-01110: ???? 6: 'D:\ORACLE\ORADATA\ORCL\ZL9BASEITEM.DBF' ORA-01200: 10240 ????????? 44800 ?????? ORA-1122 signalled during: alter database open... Fri Nov 14 14:53:16 2014 Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m001_3752.trc (incident=108903): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\HM_RUN.ams], [26], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 27) 驱动器找不到请求的扇区。 Incident details in: d:\oracle\diag\rdbms\orcl\orcl\incident\incdir_108903\orcl_m001_3752_i108903.trc Errors in file d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_3144.trc (incident=108896): ORA-00700: soft internal error, arguments: [dbgrfrbf_1], [d:\oracle\diag\rdbms\orcl\orcl\metadata\INCIDENT.ams], [19], [1], [], [], [], [], [], [], [], [] ORA-48102: encountered the end-of-file when reading the file OSD-04026: 传递的参数无效。 O/S-Error: (OS 20) 系统找不到指定的设备。 |
我们可以看到,重启之前Oracle就开始报ORA-00700,ORA-00600以及ORA-48102错误。重启之后的错误更是郁闷,如下:
1 2 3 4 5 |
ORA-01157: cannot identify/lock data file 8 - see DBWR trace file ORA-01110: data file 8: 'D:\ORACLE\ORADATA\ORCL\ZL9EXPENSE.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。 |
很明显这是文件异常了,从操作系统查看,发现这4个文件大小居然为0了。 这显然是不正常的。 实际上我检查发现还有另外2个文件也是有问题,
可能是文件头损坏了,通过dbv校验直接报错。
最后经过处理之后,成功帮网友抢救了数据,据说最后只是发现某个核心表丢了一点数据,损失不大。
不推荐使用windows来跑Oracle,感觉总是会有一些莫名其妙的问题发生,而且很难搞。还有,数据库一定要归档模式,定期物理备份,否则
一旦出现故障,就是灾难性的。
Leave a Reply
You must be logged in to post a comment.