暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle 11g ASM报ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O

数据库巡检日志发现最近ASM频繁报“ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O”错误。


查询网上及MOS资料,显示ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O和操作系统aio设置相关。
根据MOS文章 ORA-27090 - Unable to Reserve Kernel Resources for Asynchronous Disk I/O (Doc ID 579108.1)显示因为aio-max-nr设置过低导致。
CAUSE
The “aio-max-nr” kernel limit is too low.

SOLUTION
The “aio-max-nr” kernel limit should be adjusted according to Oracle recommendations which are available in this document:

查看配置和使用情况:


发现已经使用的异步I/O数量已经等于设置的最大数量。因此这是一个导致报错的原因。

根据oracle官方文档 (Doc ID 579108.1)的建议,我们需要将数据库中的最大并行异步io的数量限制上调到3145728( aio-max-nr= 1048576)。由于该ORA错误在极高的io请求系统中才会爆发,很少有客户能达到这么高且频繁的io请求数量。

 fs.aio-max-nr 的计算方式:
oracle: sqlplus / as sysdba
SQL> show parameter processes
processes integer 4000
3000*4096=16384000

asm: gird用户下: sqlplus / as sysasm
SQL> show parameter processes
processes integer 3240
2600*4096=13271040

fs.aio-max-nr = ORACLE+ASC=29655040

在root用户下修改Linux主机aio参数:
vim /etc/sysctl.conf
fs.aio-max-nr = 29655040
使修改生效:
sysctl -p


---验证是否生效

--GRID 用户执行

cluvfy comp sys -n all -p crs -verbose

--输出结果如下

Check: Kernel parameter for "aio-max-nr"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
test2 29655040 29655040 1048576 passed
test1 29655040 29655040 1048576 passed
Result: Kernel parameter check passed for "aio-max-nr"


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论