[转载]---asynch descriptor resize排在TOP5事件解决一例
一、本文说明:
今天在看luocs的博客中看到一篇关于asynch descriptor resize事件的解决方案,虽然这个事件很少出现,但是对于学习Oracle的还是需要了解一下的。在这里属于转载,如果你想看原文可以点击友情链接中的Luocs。
二、转载内容:
今天在帮开发同事解决问题的时候,从AWR报告里看出奇怪的地方,TOP 5事件里看到了较难看到的asynch descriptor resize事件。
这是一台开发测试数据库,CentOS 5.5上跑着Oracle 11g 11.2.0.1。
查了一下,系统参数设置和数据库参数:
1 [root@orcl ~]# more /etc/sysctl.conf | grep aio-max-nr 2 fs.aio-max-nr = 1048576 3 [root@orcl ~]# more /proc/sys/fs/aio-max-nr 4 1048576 5 6 SQL> show parameter async 7 8 NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM 9 —————————— ———————- —————————— 10 disk_asynch_io boolean TRUE 11 tape_asynch_io boolean TRUE
猜想是不是BUG导致的?MOS搜索了一下,很快找到了Bug 9829397,Excessive CPU and many "asynch descriptor resize" waits for SQL using Async IO,此BUG发生于11.2.0.1和11.2.0.2上,11.2.0.3修复了此问题。
解决办法是:只要将disk_asynch_io设置为false来禁用异步I/O即可。
1 SQL> alter system set disk_asynch_io=false scope=spfile; 2 3 System altered.
以下为问题解决后的TOP事件: