ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle Wait Interface学习笔记(2) OWI Componets (4)

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

原创 Linux操作系统 作者:等待和希望 时间:2008-08-12 16:48:38 0 删除 编辑

(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所有session的MAX_WAIT列,另外,它也会reset v$filestat视图的maxiortm和maxiowtm。

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状态或者正在等待某个资源,如lock、latch等。

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

STATE字段共有4个状态:

STATE状态

状态说明

WAIT_TIME值

WAITED UNKNOWN TIME

TIMED_STATISTICS为FALSE

-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博客 ” ,链接:https://blog.itpub.net/55472/viewspace-425559/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-09

  • 博文量
    39
  • 访问量
    93667