ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O

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

原创 Linux操作系统 作者:dcswinner 时间:2012-05-07 15:51:52 0 删除 编辑

上周一早上对一台外网的数据库进行日检,发现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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-03

  • 博文量
    61
  • 访问量
    483448