查看Oracle使用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使用率。
标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P4 | 发表于 2014-6-23 13:54:46
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈