ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O

上周一早上对一台外网的数据库进行日检,发现alert日志中报如下错误:

Errors in file /home/oracle/admin/emspda/bdump/emspda2_p001_23490.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 4: Interrupted system call
Additional information: 3
Additional information: 128
Additional information: 65536
Sat Apr 28 15:52:21 CST 2012
Errors in file /home/oracle/admin/emspda/bdump/emspda2_p003_23499.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 4: Interrupted system call
Additional information: 3
Additional information: 128
Additional information: 65536
Sat Apr 28 15:52:21 CST 2012
Warning: recovery process cannot use async I/O
Sat Apr 28 15:52:21 CST 2012
Warning: recovery process cannot use async I/O
Sat Apr 28 15:52:21 CST 2012
Errors in file /home/oracle/admin/emspda/bdump/emspda2_p014_23526.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 4: Interrupted system call
Additional information: 3
Additional information: 128
Additional information: 65536
Sat Apr 28 15:52:21 CST 2012
Errors in file /home/oracle/admin/emspda/bdump/emspda2_p011_23520.trc:
ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 4: Interrupted system call
Additional information: 3
Additional information: 128
Additional information: 65536
Sat Apr 28 15:52:21 CST 2012
Errors in file /home/oracle/admin/emspda/bdump/emspda2_p002_23492.trc:

通过分析,认为这个应该是os上的有关io设置方面的问题,查看文章:

ORA-27090: MESSAGE 27090 NOT FOUND; [ID 579108.1]

 Modified 12-APR-2012     Type PROBLEM     Status PUBLISHED 

In this Document
  Symptoms
  Cause
  Solution
  References


Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.4 and later   [Release: 10.2 and later ]
Linux x86
Linux x86-64
Oracle Server Enterprise Edition - Version: 10.2.0.4
10.2.0.4
***Checked for relevance on 31-Oct-2011***

Symptoms

You discover messages of this nature in your alert log:

ORA-27090: Message 27090 not found; product=RDBMS; facility=ORA

Additional information: 3
Additional information: 128
Additional information: 65536


- OR -


ORA-27090: UNABLE TO RESERVE KERNEL RESOURCES FOR ASYNCHRONOUS DISK I/O

Additional information: 3
Additional information: 128
Additional information: 65536


- OR -

ORA-27090: Message 27090 not found;  product=RDBMS; facility=ORA
Linux-x86_64 Error: 4: Interrupted system call
Additional information: 3
Additional information: 128
Additional information: 65536



Strace against DBWR shows:

io_setup(4096, 0x66e1588) = -1 EAGAIN (Resource temporarily unavailable),


which is related to "aio-max-nr" kernel limit.

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:

Oracle Validated Configuration:
http://linux.oracle.com/pls/apex/f?p=102:2:2007385298933639::NO::P2_VC_ID:426

Also, this parameter should be set as follows:
-------------------------------------
fs.aio-max-nr= 3145728
-------------------------------------

通过上面的说法,是系统参数:fs.aio-max-nr设置的太小。

查看本数据库服务器上的设置:etc/sysctl.conf,这个文件里面根本就没有设置此参数。再查看系统中此参数的大小:

$  cat /proc/sys/fs/aio-max-nr

65536

这个应该是操作系统默认设置的,而oracle建议设大些。

在/etc/sysctl.conf中设置这个参数,并执行sysctl -p使其生效。

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

转载于:http://blog.itpub.net/12129601/viewspace-722911/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值