数据库
首页 > 数据库> > oracle wait等待毫秒,Oracle系统繁忙时,快速定位

oracle wait等待毫秒,Oracle系统繁忙时,快速定位

作者:互联网

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值无用。

 

转https://blog.csdn.net/weixin_29940495/article/details/116364809

标签:gs,oracle,state,session,time,Oracle,Wait,wait
来源: https://www.cnblogs.com/redarmy/p/16349347.html