Oracle Wait Interface学习笔记(2) OWI Componets (4)

(OWI学习笔记索引)

V$SESSION_EVENT

SQL> desc v$session_event

 Name                 Type

 -------------------------------------------------

 SID                  NUMBER

 EVENT                VARCHAR2(64)

 TOTAL_WAITS          NUMBER

 TOTAL_TIMEOUTS       NUMBER

 TIME_WAITED          NUMBER

 AVERAGE_WAIT         NUMBER

 MAX_WAIT             NUMBER

 TIME_WAITED_MICRO    NUMBER

 EVENT_ID             NUMBER

 WAIT_CLASS_ID        NUMBER

 WAIT_CLASS#          NUMBER

 WAIT_CLASS           VARCHAR2(64)

 

 

V$session_event对于查找某一个session的主要瓶颈非常有用,但是它对于查找根源并不很有帮助:

l   V$session_event不跟踪产生瓶颈的SQL,例如你发现db file scattered read事件是你主要的瓶颈,但是不抓住执行全表扫描的SQL,一切还是徒劳;

l   还不能提供足够的证据来定位性能问题的根源。例如,所有的latch wait都会记入latch free事件,你并不清楚session所等待的究竟是什么latch

 

MAX_WAIT纪录的是该Session对某一个时间的最大等待时间,即high-water mark of this wait event,不过oracle并不记录这个高点产生的时间。Oracle提供了一个内部过程dbms_system.kcfrms()可以reset所有sessionMAX_WAIT列,另外,它也会reset v$filestat视图的maxiortmmaxiowtm

V$SESSION_WAIT

SQL> desc v$session_wait

 Name                   Type

 ---------------------- ----------------------------

 SID                    NUMBER

 SEQ#                   NUMBER

 EVENT                  VARCHAR2(64)

 P1TEXT                 VARCHAR2(64)

 P1                     NUMBER

 P1RAW                  RAW(8)

 P2TEXT                 VARCHAR2(64)

 P2                     NUMBER

 P2RAW                  RAW(8)

 P3TEXT                 VARCHAR2(64)

 P3                     NUMBER

 P3RAW                  RAW(8)

 WAIT_CLASS_ID          NUMBER

 WAIT_CLASS#            NUMBER

 WAIT_CLASS             VARCHAR2(64)

 WAIT_TIME              NUMBER

 SECONDS_IN_WAIT        NUMBER

 STATE                  VARCHAR2(19)       

 

当得知某个正在运行的应用有问题时查询v$session_wait最有用,由于这个视图是实施刷新的,你只需要重复查询这个视图,如果查询结果不停的变换,用户一直都在经历不同的wait event,说明应用正在运行,如果应用持续的等候同一个事件,那就意味着这个session处于idle状态或者正在等待某个资源,如locklatch等。

V$session_wait提供的是实时地数据,10g开始,历史数据可以从v$session_wait_history获取。

STATE字段共有4个状态:

STATE状态

状态说明

WAIT_TIME

WAITED UNKNOWN TIME

TIMED_STATISTICSFALSE

-2

WAITED SHORT TIME

前一个等待的时间<1 centisecond

-1

WAITING

正处于等待状态,实际的等待时间在SECONDS_IN_WAIT中有记录;

Seconds_in_wait的单位是秒;wait_time的单位是毫秒

0

WAITED KNOWN TIME

Oracle is able to determine the duration of the last wait

等待的时间(单位:centisecond

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/55472/viewspace-425559/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/55472/viewspace-425559/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值