热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

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

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

本站文章除注明转载外,均为本站原创: 转载自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

推荐阅读
  • 本文详细介绍如何在 iOS 7 环境下申请苹果开发者账号,涵盖从访问开发者网站到最终激活账号的完整流程。包括选择个人或企业账号类型、付款方式及注意事项等。 ... [详细]
  • 使用OpenCV和Python 4.2提升模糊图像清晰度
    本文介绍如何利用OpenCV库在Python中处理图像,特别是通过不同类型的滤波器来改善模糊图像的质量。我们将探讨均值、中值和自定义滤波器的应用,并展示代码示例。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了一种高效的算法——线性筛法,用于快速筛选出一定范围内的所有素数。通过该方法,可以显著提高求解素数问题的效率。 ... [详细]
  • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • Java中的基本数据类型与包装类解析
    本文探讨了Java编程语言中的8种基本数据类型及其对应的包装类。通过分析这些数据类型的特性和使用场景,以及自动拆装箱机制的实现原理,帮助开发者更好地理解和应用这些概念。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
author-avatar
手机用户2502861227
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有