Heim >Datenbank >MySQL-Tutorial >windows Oracle数据文件大小为0的恢复case

windows Oracle数据文件大小为0的恢复case

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 16:40:192638Durchsuche

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger 的Oracle技术博客 本文链接地址: windows Oracle数据文件大小为0的恢复case 一个网友的数据库部署在windows环境,可能是由于存储问题或者windows本身文件系统的问题,出现IO问题之

本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客

本文链接地址: windows Oracle数据文件大小为0的恢复case

一个网友的数据库部署在windows环境,可能是由于存储问题或者windows本身文件系统的问题,出现IO问题之后,最后数据库重启之后,竟然无法启动了,报错无法读取其中的几个文件,alert log如下:

 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错误。重启之后的错误更是郁闷,如下:

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,感觉总是会有一些莫名其妙的问题发生,而且很难搞。还有,数据库一定要归档模式,定期物理备份,否则
一旦出现故障,就是灾难性的。

Related posts:

  1. 一次远程协助的恢复 遇到异灵事件
  2. 最近迁移恢复中遇到的几个小问题
  3. One recover case!
  4. 11gR2 dataguard 备库文件损坏处理一例
  5. 数据库open报错ORA-01555: snapshot too old
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn