在处理一套Oracle 11G数据库的其它问题时,发现后台日志有报错,查询资料,发现操作系统参数设置不合理。
环境:Oracle 11G RAC For Linux 6,该库为DataGuard备库。
处理过程简要如下:
1. 报错信息
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 3
Additional information: 128
Additional information: 166284024
2. 经过查询MOS(Doc id 579108.1),操作系统参数"aio-max-nr"设置值太小。
查询操作系统的参数值为:
# grep aio-max /etc/sysctl.conf
fs.aio-max-nr = 1048576
#
3. 解决方法:调整参数(两个节点都要调整)
fs.aio-max-nr = 3145728
4. 总结:
经过查询官方安装文档(请查看下方链接),其中的参议值确实为1048576。
当然MOS文档中,也提到,这个是BUG,最早发布的文档中的建议值不正确,把最小值列为了最大值。
NOTE:
Per bug Bug 13554729 - CORRECT FS.AIO-MAX-NR = 3145728
the published limit in the Oracle Documentation at http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCCADGD is incorrect.
The Oracle documentation lists the minimum value as the max value.