WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O.

今天检查电商的数据库发现trace文件中有如下警告:

WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O. It is set to 128
WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O. It is set to 128
WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O. It is set to 128
WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O. It is set to 128

数据库版本:

SQL> select * from v$version;
 
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

查询metalink后发现:

In this Document
  Symptoms
  Cause
  Solution
  References


Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.5 and later   [Release: 10.2 and later ]
Generic Linux
disk_asynch_io = TRUE
filesystemio_options = none
[root@xyz ~]# cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.2 (Carthage)

Symptoms

Using 10.2.0.5 RDBMS on Linux.

The following error occurs in trace files.

ERROR
-----------------------
WARNING:Could not increase the asynch I/O limit to 240 for SQL direct I/O. It is set to 128

Cause

aio-max-size is set not set, the default is128


[root@xyz ~]# cat /proc/sys/fs/aio-max-size
cat: /proc/sys/fs/aio-max-size: No such file or directory
[root@xyz ~]# cat /proc/sys/fs/aio-max-nr
65536


 

Solution

The aio-max-size kernel parameter doesn't exist in the 2.6.x Linux kernels.
This feature is now "automatic" in the 2.6.x kernel, based on the physical capabilities of the disk device driver.
This should mean that the Linux Kernel is ready to perform. ASYNC I/O.

All install requirements should be met.

To ensure ASYNC I/O can be performed by Oracle Database you need to verify or set the following parameters in the Database:

sql> alter system set disk_asynch_io=true scope=spfile;
sql> alter system set filesystemio_options=setall scope=spfile;


Then shutdown and startup the database and check if the warning reappears.
An HCVE report (refer to Note 250262.1) should report no remaining issues

If the above doesn't resolve the problem, then increase fs.aio-max-nr

查看本数据设置:

SQL>  show parameter sync
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     TRUE
tape_asynch_io                       boolean     TRUE

SQL> show parameter systemio
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options                 string      none
 

由于调整filesystemio_options且使其生效,需要重启实例,而这个数据库目前在承担重要的业务,重启是不太可能了,尝试调整内核参数:fs.aio-max-nr将目前的默认值改为:

fs.aio-max-nr = 1048576

执行sysctl -p使其生效。

在观察一段时间看看。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值