ORA-27091: skgfqio: unable to queue I/O 

今天一早刚刚醒,接到单位电话,有个刚刚迁移的数据库做批量报错。开发人员跟我说手工执行批量里面的脚本没问题,寻思着不会又碰到oracle的bug了吧。由于不是特别影响,让他把报错发给我。
开电脑,连vpn,开notes,收邮件。

以下部分2011年1月8日更新:

ORA-01115: IO error reading block from file <file id> (block # <block number>
ORA-01110: data file <file id>: <file name>
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 5: I/O error

- The errors are not reported in the alert log file.
- Running dbv against datafiles from the error messages shows no errors.
- All the mandatory OS patches are applied.
- Oracle patch for Bug 5496862 – IO READING PROBLEMS AFTER INSTALLING IBM
TECHNOLOGY LEVEL 5 (5300-05) was installed before patching the OS.

Changes
Patch IBM Technology Level 6 (5300-06) or higher was applied to the OS.

Cause
The value of maxreqs (4096) was too low. This asynchronous I/O parameter
specifies the maximum number of asynchronous I/O requests that can be
outstanding at any one time and has as default value 4096.

Solution
Increase maxreqs to a value greater than or equal to 8192.

Steps:
1. run aioo -a command to double check current setting for aio0 device
2. run aioo -o maxreqs=<value> to set maxreqs dynamically
3. chdev -l aio0 -a maxreqs=<value> -P to set the value of maxreqs
permanently for next reboot
4. run aioo -a to confirm change
5. restart oracle

NOTE: Values that fixed the errors: 8192, 16384 or 32768.

smitty aio 修改maxreqs参数到8192 同时修改minservers 到10 、maxservers到80 重启系统及操作系统后 至今为止正常。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>