zoukankan      html  css  js  c++  java
  • 数据库服务器CPU持续百分之百、部分Session一直处于执行状态---等待事件为:asynch descriptor resize(Oracle Bug )

    问题描述:

          项目反馈数据库服务器的CPU持续100%的情况,跟踪发现很多活动会话的等待事件是“asynch descriptor resize”,并且这些会话一直处于Active状态,而这些会话执行的查询并不复杂,感觉很是奇怪。

    原因分析:

          查阅了一下资料,对应Oracle的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(数据库存储方式为文件系统时)

        SQL> alter system set disk_asynch_io=false scope=spfile;          //该参数不是动态的
        SQL> alter system set filesystemio_options=none scope=spfile;   //该参数不是动态的 

    修改参数配置并重启后,问题依旧,该sql仍然处于一直执行状态,但等待事件变为:db file scattered read

    尝试将db_file_multiblock_read_count 调大,问题解决。

    SQL> show parameter db_file_multiblock_read_count 

    SQL> alter system set db_file_multiblock_read_count=10000;    --试图变更为超大值

    经测试,最后将 db_file_multiblock_read_count  的值定义为 128 (OR 256、512 ?)

     
  • 相关阅读:
    SQL注入常见处理方式
    git操作常用
    crontab 基本参数
    替代PHP格式化成无符号数后精度不对问题
    替代PHP两个大数相乘会有精度损失
    排序算法
    迁移服务器资源到新服务器
    数据库分库分表思路
    drupal 常用表单元素
    drupal模块开发
  • 原文地址:https://www.cnblogs.com/zhaoguan_wang/p/5506718.html
Copyright © 2011-2022 走看看