`

oracle9I坏块错误

 
阅读更多
  在一个客户的9201 for Windows数据库中发现了这个错误。





数据库经常出现CRASH的问题,检查后发现,在出现CRASH之前,ALERT中记录了下面的错误:


Fri Jan 28 15:13:58 2011
KCF: write/open error block=0x300019 online=1
file=9 D:ORACLEORADATASXNCSWUSERS01.DBF
error=27069 txt: 'OSD-04026: 传递的参数无效。 (OS 3145753)'
Fri Jan 28 15:13:58 2011
Errors in file d:oracleadminsxncswbdumpsxncsw_dbw0_1504.trc:
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
ORA-01114: IO error writing block to file 9 (block # 3145753)
ORA-01110: data file 9: 'D:ORACLEORADATASXNCSWUSERS01.DBF'
ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
OSD-04026: 传递的参数无效。 (OS 3145753)


DBW0: terminating instance due to error 1242
Fri Jan 28 15:14:00 2011
Errors in file d:oracleadminsxncswbdumpsxncsw_pmon_1480.trc:
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode


Instance terminated by DBW0, pid = 1504
Dump file d:oracleadminsxncswbdumpalert_sxncsw.log


从ORA-27069错误和OSD-4026错误的信息不难看出,这些错误一般和操作系统命令有关,最后出现了ORA-1242错误,且数据库出现了CRASH。


查询metalink发现,这是Windows环境下Oracle9i的一个bug:1668488。这个bug影响NT环境9.2.0.3以前版本的数据库,当数据文件大小超过4G并尝试扩展,就可能导致这个文件的读写错误,对于ARCHIVELOG模式可能导致数据文件需要恢复,而对于NOARCHIVELOG模式,则会导致CRASH。


而Windows是2003,数据库版本是9.2.0.1,检查发现这个USERS表空间的大小已经达到了4G,难怪频繁出现CRASH的问题。




除了升级操作系统和数据库版本外,解决这个问题的最简单的办法就是多建立几个数据文件,来避免单个文件超过4G的情况。


应急措施为重新启动数据库服务器。


DBV file=D:\ORACLE\ORADATA\DSSDB1\WS6.ORA blocksize=8192

检查没有错误。重新启动后一切正常

   以上经过试验,可以解决这个问题,但是不能保证所有平台和所有oracle9.2.0.1都会报这个错误,真纠结。
分享到:
评论

相关推荐

    oracle9I的坏块错误。

    NULL 博文链接:https://loveboth.iteye.com/blog/1508354

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    深入解析Oracle.DBA入门进阶与诊断案例

    2.4.8 坏块的处理与恢复 97 第3章 参数及参数文件 103 3.1 初始化参数的分类 103 3.1.1 推导参数(Derived Parameters) 103 3.1.2 操作系统依赖参数 104 3.1.3 可变参数 104 3.1.4 初始化参数的获取 ...

    深入解析OracleDBA入门进阶与诊断案例 3/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    超级有影响力霸气的Java面试题大全文档

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

Global site tag (gtag.js) - Google Analytics