详谈Oracle优化CPU使用率
创始人
2024-06-11 20:20:19
0

本人很喜欢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语句的解析情况:

  1. SELECT * FROM V$SYSSTAT  
  2. WHERE NAME IN  
  3. ('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语句解析效率比较低。

  1. SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS FROM V$SQLAREA  
  2. ORDER BY PARSE_CALLS; 

程序员可以优化这些语句,或者增加Oracle参数SESSION_CACHED_CURSORS的值。以上介绍Oracle优化CPU使用率。

【编辑推荐】

  1. 闲扯Oracle数据导入
  2. 精炼概括Oracle性能测试
  3. 简介Oracle INDEX提示
  4. 五分钟精通Oracle Hints
  5. 简单介绍Oracle驱动表

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...