oracle9I的坏块错误。

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的问题。


[color=red]
除了升级操作系统和数据库版本外,解决这个问题的最简单的办法就是多建立几个数据文件,来避免单个文件超过4G的情况。[/color]
[color=red]
应急措施为重新启动数据库服务器。


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

检查没有错误。重新启动后一切正常[/color]
以上转载了一大部分,测试成立,但是并不是所有地方的该版本在任意情况下,都会发生。即[color=red]:任意oracle版本在任意操作系统平台,只要到了4G后都会出现该错误。这句话是不对的。[/color] 附件含有一个alert.log,方便各位一起研究。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值