今天检查电商的数据库发现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
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 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/