昨天数据库主机接连出现几次CPU资源占用率过高报警,导致主机性能低下,经过一番调查最终找出问题的原因,解决了这一故障,具体过程如下:
环境:主机SUSE LINUX 10 (64位) ORACLE11G(64位)
一、报警信息(故障呈现)
•suselinux服务器CPU利用率当前值为:90.93, 阀值范围为[90-100],发生时间11:17:01
•suselinux服务器CPU利用率当前值为:92.20, 阀值范围为[90-100],发生时间14:46:02
•suselinux服务器CPU利用率当前值为:92.54, 阀值范围为[90-100],发生时间15:14:01
二、分析过程(故障调查)
1、使用TOP命令查看系统资源
shift加P:按CPU资源利用率降序排列 shift加M:按内存占用资源率降序排列
我们发现ORACLE进程占用率较高,CPU几次超限飙升到90%以上,严重影响了系统性能。
2、利用SAR命令检查IO和传送情况:
注:suse linux下使用sar命令,需要安装sysstat包。
发现每秒读入和写出的数据量比较大。
3、分析AWR报告
通过AWR报告发现,审计表更新比较频繁,当天有比较多的报表更新。
4、连接数据库,针对审计、索引进行查证
发现索引失效,导致数据检索变的缓慢,SQL语句执行效率低,CPU消耗大。
5、问题解决,关闭审计重建索引
6、后续待优化:
查证SQL语句,避免效率低下的语句高并发执行引发buffer cache冲突而导致CPU资源的过度消耗。
©著作权归作者所有:来自51CTO博客作者xjsunjie的原创作品,如需转载,请注明出处,否则将追究法律责任
oracle休闲oracle数据库数据库与大数据