【原创】aix下“ORA-27091: skgfqio: unable to queue I/O”错误一例解决方法

最近数据库出现了如下的错误直接导致数据库宕机:
ORA-00202: controlfile: '/dev/rcontrol1_LV'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 12: Not enough space
Additional information: 35

数据库环境:oracle 9.2.0.5
操作系统:aix5300-05-06

先前类似错误也在此节点上出现过,那时是将v_pinshm设置为1(固定内存)后出现的,后来将v_pinshm重设为0,而目前该系统上v_pinshm仍然为1,应该是上次修改时没有设置重启后的值也为0,因此在前两天维护完系统重启后,该值又恢复为1,于是就又出现了上面的问题,因此最终解决方法如下:
vmo -p -o v_pinshm=0   -- 恢复v_pinshm为默认值
然后启动数据库

总结:看来在aix下将v_pinshm设置为1还是有一定风险的,特别时当sga_max_size设置过大时,数据库pin住了太多的内存,最终使得其他进程申请内存失败,在本例中应该是异步IO无法申请更多的内存,使得数据库控制文件无法读取,从而导致数据库宕机。因此,如果要将v_pinshm设置为1,sga_max_size不能设置太大,其实如果正确设置其他几个参数,如:lru_file_repage、minperm、maxperm,也可以保证sga的内存不被交换到换页空间中,这样即使在系统出现问题的时候,也不会使得数据库宕机,只是数据库在性能上会有一定的影响。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22170380/viewspace-707222/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22170380/viewspace-707222/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值