Oracle ASM扩容时alter日志报ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
在 Oracle ASM(Automatic Storage Management)扩容过程中,遇到 ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
错误,这通常表明系统的异步 I/O (AIO) 资源不足,需要进行相应的调整。下面是处理该问题的详细步骤。
原因分析
ORA-27090
错误通常是由于系统中可用的异步 I/O 资源不足,也可能是由于参数配置不当。主要涉及的系统参数是 fs.aio-max-nr
,该参数控制系统可以同时进行的异步 I/O 请求的最大数量。
解决方案
1. 查看当前系统 AIO 配置
首先,检查当前系统配置的 fs.aio-max-nr
值:
cat /proc/sys/fs/aio-max-nr
同时,查看当前系统已经使用的异步 I/O 数量:
cat /proc/sys/fs/aio-nr
2. 临时调整 AIO 资源
如果当前配置的 fs.aio-max-nr
值较低,可以临时增加此值:
echo 1048576 > /proc/sys/fs/aio-max-nr
3. 永久调整 AIO 资源
为了保证重启后配置不丢失,需要将修改永久保存到 /etc/sysctl.conf
文件中:
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
然后加载新的 sysctl 设置:
sysctl -p
示例操作步骤
- 查看当前
fs.aio-max-nr
值
cat /proc/sys/fs/aio-max-nr
- 临时将
fs.aio-max-nr
值提高到 1,048,576
echo 1048576 > /proc/sys/fs/aio-max-nr
- 将修改永久保存
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
sysctl -p
总结
遇到 ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
错误时,通常需要调整系统的 AIO 资源配置,为 Oracle 提供足够的异步 I/O 资源。确认各项配置生效后,问题通常可以解决。如果问题依然存在,建议查阅系统日志和 Oracle 的告警日志以获取更多信息,并进一步调整系统配置。