你好,游客 登录 注册 搜索
背景:
阅读新闻

Oracle系统繁忙时,快速定位

[日期:2013-02-18] 来源:Linux社区  作者:rulev5 [字体: ]

1 看现在的连接数

select count(*) from gv$session;

2 我们这里是bs架构,我们针对应用来看一下session的大致情况
2.1 执行的sql
select gs.inst_id,
      gs.SID,
      gvs.sql_text,
      gs.SERIAL#,
      gs.STATUS,
      gs.EVENT,
      gs.WAIT_CLASS,
      gs.WAIT_TIME,
      gs.SECONDS_IN_WAIT,
      p.spid,
      gs.logon_time
  from gv$process p, gv$session gs
  left join gv$sql gvs
    on gs.sql_id = gvs.sql_id
 where gs.PROGRAM = 'JDBC Thin Client'
  and gs.paddr = p.ADDR;

说明:
1)State字段有四种含义﹕

(1)Waiting:SESSION正等待这个事件。
(2)Waited unknown time:由于设置了timed_statistics值为false,导致不能得到时间信息。表示发生了等待,但时间很短。
(3)Wait short time:表示发生了等待,但由于时间非常短不超过一个时间单位,所以没有记录。
(4)Waited knnow time:如果session等待然后得到了所需资源,那么将从waiting进入本状态。

2).Wait_time值也有四种含义:

(1)值>0:最后一次等待时间(单位:10ms),当前未在等待状态。
(2)值=0:session正在等待当前的事件。
(3)值=-1:最后一次等待时间小于1个统计单位,当前未在等待状态。
(4)值=-2:时间统计状态未置为可用,当前未在等待状态。

3).Wait_time和Second_in_wait字段值与state相关:

(1)如果state值为Waiting,那么wait_time值无用。Second_in_wait值是实际的等待时间(单位:秒)。
(2)如果state值为Wait unknow time,那么wait_time值和Second_in_wait值都无用。
(3)如果state值为Wait short time,那么wait_time值和Second_in_wait值都无用。
(4)如果state值为Waiting known time,那么wait_time值就是实际等待时间(单位:秒),Second_in_wait值无用。

linux
相关资讯       Oracle入门基础教程  Oracle系统繁忙 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款