http://database.51cto.com/art/200911/163251.htm
本人很喜欢Oracle,在工作中也很喜欢总结关于Oracle优化CPU使用率的经验教训,下面就这个问题来详细说说吧。CPU是服务器的一项重要资源,服务器良好的工作状态是在工作高峰时CPU的使用率在90%以上。如果空闲时间Oracle优化CPU使用率就在90%以上,说明服务器缺乏CPU资源;如果工作高峰时Oracle优化CPU使用率仍然很低,说明服务器CPU资源还比较富余。
查看Oracle优化CPU使用率
使用操作相同命令可以看到CPU的使用情况,一般Unix操作系统的服务器,可以使用“sar u”命令查看Oracle优化CPU使用率,Windows NT操作系统的服务器,可以使用性能管理器来查看CPU的使用率。
查看数据库使用CPU的时间
可以通过查看V$SYSSTAT数据字典中“CPU used by this session”统计项得知Oracle数据库使用的CPU时间,查看“OS User level CPU time”统计项得知操作系统的用户态下CPU时间,查看“OS System call CPU time”统计项得知操作系统的系统态下CPU时间,操作系统总的CPU时间就是用户态和系统态时间之和。如果Oracle数据库使用的CPU时间占操作系统总的CPU时间90%以上,说明服务器CPU基本上被Oracle数据库使用着。反之,则说明服务器CPU被其它程序占用过多,Oracle数据库无法得到更多的CPU时间。
数据库管理员还可以通过查看V$SYSSTAT数据字典来获得当前连接Oracle数据库各个会话占用的CPU时间,从而得知什么会话耗用服务器CPU比较多。出现CPU资源不足的情况是很多的,SQL语句的重解析、低效率的SQL语句、锁冲突都会引起CPU资源不足。
查看SQL语句的解析情况
数据库管理员可以执行下述语句来查看SQL语句的解析情况:
SELECT * FROM V$SYSSTAT
WHERE NAME IN
('parse time cpu', 'parse time elapsed', 'parse count (hard)');
这里“parse time cpu”是系统服务时间,“parse time elapsed”是响应时间,用户等待时间waite time = parse time elapsed - parse time cpu。
由此可以得到用户SQL语句平均解析等待时间=waite time / parse count。这个平均等待时间应该接近于0,如果平均解析等待时间过长,数据库管理员可以通过下述语句来发现是什么SQL语句解析效率比较低。
SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS FROM V$SQLAREA
ORDER BY PARSE_CALLS;
程序员可以优化这些语句,或者增加Oracle参数SESSION_CACHED_CURSORS的值。以上介绍Oracle优化CPU使用率。
分享到:
相关推荐
教程名称:oracle数据库备份知识课程目录:【】Oracle10g查找数据方法总结【】Oracle8i数据库恢复一例【】Oracle备份和恢复常见问题解答【】Oracle备份方式之差异性分析【】详谈oracle数据库备份 资源太大,传百度...
Linux内核编译详谈,Linux内核编译详谈
详谈PHP程序Laravel 5框架的优化技巧_.docx
下面小编就为大家带来一篇详谈redis优化配置和redis.conf说明(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
hibernate配置要点详谈hibernate配置要点详谈hibernate配置要点详谈hibernate配置要点详谈
详谈SDN如何对接云平台.docx
学习PID算法的好文档
软件测试流程详谈软件测试流程详谈软件测试流程详谈软件测试流程详谈软件测试流程详谈软件测试流程详谈
详谈SCSI硬盘.doc
机房 维护 与 管理 详谈
家庭无线局域网组建方案详谈 家庭无线局域网组建方案详谈
讲述涉及模式的详细使用讲述涉及模式的详细使用讲述涉及模式的详细使用
详谈IPv6与IPv4数据报格式,具体的数据包详细格式
一文详谈架构设计.docx
HACCP基础知识详谈.pptx
详谈基于JSON的高级AJAX开发技术 详谈基于JSON的高级AJAX开发技术 详谈基于JSON的高级AJAX开发技术
给出了集中PT100采样电路,并就PT100,AD采样调试对表给出了详细的经验