top5-----asynch descriptor resize

来源:互联网 发布:贵阳 云计算 编辑:程序博客网 时间:2024/06/05 16:02

转载自:http://www.cnblogs.com/Richardzhu/articles/2879436.html

一、本文说明:

   今天在看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                TRUE11 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事件:

 BTW,通过尝试调整系统内核参数aio_max_ops,asynch descriptor resize等待事件也可以解决。

原创粉丝点击