应用端查询等操作被异常中止且记录如下信息
ORA-01115: IO error reading block from file 50 (block # 1624)
ORA-01110: data file 50: '/dev/ra_dhyx02'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 5: I/O error ; nested exception is
java.sql.SQLException: ORA-01115: IO error reading block from file 50 (block # 1624)
ORA-01110: data file 50: '/dev/ra_dhyx02'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 5: I/O error
java.sql.SQLException: ORA-01115: IO error reading block from file 50 (block # 1624)
ORA-01110: data file 50: '/dev/ra_dhyx02'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 5: I/O error
错误信息分析
由错误信息中的ORA-01115: IO error reading block from file 50 (block # 1624)来看,并不是由于坏块引起,而是在读取数据文件/dev/ra_dhyx02时遇到I/O错误。
经过确认,是由于操作系统参数maxreqs参数设置过低(默认值为4096),且Oracle 9.2.0.8(本数据库版本)版本在IBM AIX(5300-06) on POWER System(64-bit)中可能会发生这类错误,对应的Oracle bug为bug 5496862。可考虑加大maxreqs至8192或更大解决该问题。
参考文档:ORA-01115 ORA-01110 ORA-27091 ORA-27072 Error: 5: I/O error [ID 559697.1]
临时解决方法
通过重启应用程序,暂时解决该问题。
调整OS参数设置及重启数据库
修改OS参数maxreqs为8192或更大,可通过如下步骤完成:
1、1、仔细核实maxreqs参数设置
root@hiuccs1:/> aioo –o 或者 lsattr -El aio0
2、2、动态调整maxreqs
root@hiuccs1:/> aioo –o maxreqs=8192
3、3、永久设置maxreqs参数(保证下次小机重启仍然有效)
root@hiuccs1:/> chdev -l aio0 -a maxreqs=8192 -P
4、4、确认更改已生效
root@hiuccs1:/> aioo –o
5、5、重启数据库
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25834554/viewspace-1053386/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25834554/viewspace-1053386/