月份: 2011-01

我们最宝贵的金融资产

我们最宝贵的金融资产就是赚钱的能力。如不能持续投资以增进自己的产能,眼光就会受到局限,只能在现有的职位上踏步,每天忙忙碌碌,就怕老板对自己印象不佳,既在经济上受制于人,又担心职位不保。

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 重启系统及操作系统后 至今为止正常。