一套11.2.0.4的rac库巡检,发现asm实例日志有如下报错
2.5.2
locate alert_+${hst}.log
tail -n 200 /oracle/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
Errors in file /oracle/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_96212.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Additional information: 128
Sat Apr 13 00:40:13 2024
Errors in file /oracle/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_96217.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Additional information: 128
...
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Additional information: 128
Sat Jun 08 01:00:04 2024
Errors in file /oracle/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_37329.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Additional information: 128
Sat Jun 08 01:00:04 2024
Errors in file /oracle/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_37331.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Additional information: 128
Additional information: 134612968
..................................................
时间上也没啥规律,隔几天就会来几条。两个rac节点都有。
根据
ORA-27090 - Unable to Reserve Kernel Resources for Asynchronous Disk I/O (Doc ID 579108.1)
确定了现场的aio-max-nr配置就是3145728
但是仍然出现了这个问题。简单看来,还需要将该值调大,但是调多大呢?找到了一片前人改过的更大值:
Oracle 11g RAC 生产库 ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O故障处理记录 - 墨天轮 (modb.pro)
sysctl -w fs.aio-max-nr=50000000
cat /proc/sys/fs/aio-nr
cat /proc/sys/fs/aio-max-nr
vi /etc/sysctl.conf
fs.aio-max-nr = 50000000
sysctl -p
两个rac节点都需要改。无需重启数据库和os。
至于到底是什么偷走了aio异步io资源,可以参见下面这三篇文章。
Oracle:ORA-27090 问题解决总结_ITPUB博客
[Oracle]&[Linux]Linux异步IO的怪事,aio被贼偷走了 (qq.com)
Troubleshooting ORA-27090 async I/O errors with systemtap (pythian.com)