数据库服务器CPU持续百分之百、部分Session一直处于执行状态---等待事件为:asynch descriptor resize(Oracle Bug )
2016-05-18 21:50
531 查看
问题描述:
项目反馈数据库服务器的CPU持续100%的情况,跟踪发现很多活动会话的等待事件是“asynchdescriptorresize”,并且这些会话一直处于Active状态,而这些会话执行的查询并不复杂,感觉很是奇怪。
原因分析:
查阅了一下资料,对应Oracle的Bug9829397,ExcessiveCPUandmany"asynchdescriptorresize"waitsforSQLusingAsyncIO,此BUG发生于11.2.0.1和11.2.0.2上,11.2.0.3修复了此问题。
设置隐藏参数也是一个解决办法:将disk_asynch_io设置为false来禁用异步I/O(数据库存储方式为文件系统时)
SQL>altersystemsetdisk_asynch_io=falsescope=spfile;//该参数不是动态的
SQL>altersystemsetfilesystemio_options=nonescope=spfile;//该参数不是动态的
修改参数配置并重启后,问题依旧,该sql仍然处于一直执行状态,但等待事件变为:dbfilescatteredread
尝试将db_file_multiblock_read_count调大,问题解决。
SQL>showparameterdb_file_multiblock_read_count
SQL>altersystemsetdb_file_multiblock_read_count=10000;--试图变更为超大值
经测试,最后将db_file_multiblock_read_count的值定义为128(OR256、512?)
项目反馈数据库服务器的CPU持续100%的情况,跟踪发现很多活动会话的等待事件是“asynchdescriptorresize”,并且这些会话一直处于Active状态,而这些会话执行的查询并不复杂,感觉很是奇怪。
原因分析:
查阅了一下资料,对应Oracle的Bug9829397,ExcessiveCPUandmany"asynchdescriptorresize"waitsforSQLusingAsyncIO,此BUG发生于11.2.0.1和11.2.0.2上,11.2.0.3修复了此问题。
设置隐藏参数也是一个解决办法:将disk_asynch_io设置为false来禁用异步I/O(数据库存储方式为文件系统时)
SQL>altersystemsetdisk_asynch_io=falsescope=spfile;//该参数不是动态的
SQL>altersystemsetfilesystemio_options=nonescope=spfile;//该参数不是动态的
修改参数配置并重启后,问题依旧,该sql仍然处于一直执行状态,但等待事件变为:dbfilescatteredread
尝试将db_file_multiblock_read_count调大,问题解决。
SQL>showparameterdb_file_multiblock_read_count
SQL>altersystemsetdb_file_multiblock_read_count=10000;--试图变更为超大值
经测试,最后将db_file_multiblock_read_count的值定义为128(OR256、512?)
相关文章推荐
- Oracle杂谈二 SQL*PLUS命令的使用大全
- Oracle杂谈二 SQL*PLUS命令的使用大全
- Oracle杂谈二 SQL*PLUS命令的使用大全
- Oracle杂谈一 Oracle数据库的一些基本概念
- Oracle杂谈一 Oracle数据库的一些基本概念
- Oracle杂谈一 Oracle数据库的一些基本概念
- 查Oracle的隐藏参数---创建视图v$parameter
- Oracle数据库——基本操作
- 安装oracle VM virtualBOX,winWinXP本地连接不显示的问题
- oracle sql学习一
- oracle impdp expdp 使用说明
- java 调用oracle 存储过程
- [转]oracle分页用两层循环还是三层循环?
- winserver2008 Oracle 11g 安装
- SUN(oracle)存储配置界面
- oracle数据库导入导出步骤
- Oracle Functions转成Ms-Sql procedure
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
- 怎样在oracle virtualbox里添加网卡
- oracle常用函数的使用