测试服务器配制 os : window2003 oracle 9I memery : 8G cpu intel 8 core
archived_mode : noarchived
故障原因 : 数据文件之前是10G 同事resize 到 20G
在客户端执行 alter database datafile 'd:\....dbf' resize 20480M;
他再执行查询表空间的时候 发现报 ora-01115 从文件20 读数据块出现IO错误。。。
alert 日志 报错如下
*** 2011-09-05 14:14:23.000
*** SESSION ID:(2.1) 2011-09-05 14:14:23.000
KCF: write/open error block=0x37a3a online=1
file=20 E:\ORACLE9I2\ORACLE9I2\ORADATA\GOLDEN\TS_DW.ORA
error=27069 txt: 'OSD-04026: 传递的参数无效。 (OS 227898)'
error 1242 detected in background process
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
ORA-01114: IO error writing block to file 20 (block # 227898)
ORA-01110: data file 20: 'E:\ORACLE9I2\ORACLE9I2\ORADATA\GOLDEN\TS_DW.ORA'
ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
OSD-04026: 传递的参数无效。 (OS 227898)
*** 2011-09-05 14:14:24.000
*** SESSION ID:(1.1) 2011-09-05 14:14:24.000
error 1242 detected in background process
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
我开始怀疑出现坏块,但找到了一篇文章 描述如下
http://blog.itpub.net/post/385/248099
Thu Dec 28 10:23:12 2006
Errors in file /oracle/admin/*****/bdump/*****_smon_11633.trc:
ORA-01115: IO error reading block from file 2261 (block # 16313)
ORA-01110: data file 2261: '/dev/*****/rlv_*****'
ORA-65535: Message 65535 not found; product=RDBMS; facility=ORA
SMON: terminating instance due to error 1115
Instance terminated by SMON, pid = 11633
Thu Dec 28 10:28:22 2006
对这个行为有些疑惑,因为只是一个数据块无法读取,而且是非SYSTEM和UNDO表空间,为何数据库要把自己关掉呢?
看到了oracle给出的解释:
If the database is in noarchivelog mode, and Oracle cannot update a datafile, the instance will crash. This to protect the database from overw
riting the current online redolog which is required for crash recovery. This regardless of the datafile being in the system tablespace.
A database in archivelogmode, can survive with only the system tablespace, but will be of little use without undo and possibly temp.
Transactions starting that requires access to unavailable files will be rolled back and not complete.
In this case, the block corruption was discovered by SMON during transaction recovery. And since it cannot
access the file, it will terminate the instance, as explained above.
看这完这篇文章 呵呵 库就crash掉了
重新启动 真的像上文所说的 一切完好,只是在做数据库resize数据文件发生回退 。 重新resize 一切完好
当尝试将Oracle 9i数据库的数据文件从10G扩大到20G时,出现了ora-01115错误,导致IO错误。错误源于对文件20的写入操作,OS返回了无效参数的错误。在NOARCHIVELOG模式下,数据库因保护在线重做日志而崩溃。文章引用了Oracle的解释,指出在非归档日志模式下,数据库无法更新数据文件时会崩溃以防止覆盖恢复所需的日志。解决方法是重新启动数据库,回退resize操作,然后再次尝试,问题得到解决。
2350

被折叠的 条评论
为什么被折叠?



