v$session_event- Oracle Wait Interface Memo查看当前会话所有信息(转:http://www.dbanotes.net/archives/2004/12/vsession_event.html)
来源:互联网 发布:数据库管理系统模型 编辑:程序博客网 时间:2024/05/21 08:04
v$session_event 记载了当前连接到数据库的所有会话的统计信息,从名字上也可以看出来,这是个会话级(Session Level)的动态视图。
继续以 Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning 这本书为参考,分析 OWI 。先看看v$session_event 的数据结构:
SQL> desc v$session_event
Name Null? 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 //10g's New Column
SQL>
V$SESSION_EVENT 语句由 X$KSLES (Kernel Service Current Session statistics) 和 x$ksled(Kernel Service Latch Event Descriptors) 这两个固定表得来。(致谢:抽取脚本由 Rudolf 友情提供,下载 )
SELECT s.inst_id, s.kslessid, d.kslednam, s.ksleswts, s.kslestmo,
ROUND (s.kslestim / 10000), ROUND (s.kslestim / (10000 * s.ksleswts)),
ROUND (s.kslesmxt / 10000), s.kslestim, d.ksledha sh
FROM x$ksles s, x$ksled d
WHERE s.ksleswts != 0 AND s.kslesenm = d.indx;
v$session_event 结构中包含 SID ,要想获取其中的内容,可能需要首先获取 SID 信息。可以通过 v$session 视图来做到,也可以利用 DBMS_SUPPORT 包来获取 SID 。要注意:在 Oracle RDBMS 9.2.0.1 与 9.2.0.2 中,因为 Bug:2429929 的影响,V$SESSION_EVENT.SID 是错误的(需要在该值的基础上+1)。
常用的 SQL 举例:
SQL> col sid format 999
SQL> col event format a30
SQL> col username format a8
SQL> SELECT b.SID,
2 DECODE (b.username,
3 NULL, SUBSTR (b.program, 18),
4 b.username
5 ) username,
6 a.event, a.total_waits , a.time_waited ,
7 a.average_wait, a.max_wait
8 FROM v$session_event a, v$session b
9 WHERE b.SID = a.SID and b.username='SCOTT'
10 ORDER BY 1, 4;
SID USERNAME EVENT TOTAL_WAITS TIME_WAITED AVERAGE_WAIT MAX_WAIT
---- -------- ------------------------------ ----------- ----------- ------------ ----------
217 SCOTT SQL*Net more data from client 2 0 0 0
217 SCOTT SQL*Net break/reset to client 2 0 0 0
217 SCOTT SQL*Net more data to client 11 0 0 0
217 SCOTT SQL*Net message from client 88 151790 1725 85964
217 SCOTT SQL*Net message to client 89 0 0 0
SQL>
v$session_event 中比较重要的列是 TIME_WAITED 与 MAX_WAIT 。MAX_WAIT 列记载了每个会话每个时间的最大等待时间。可以通过执行
execute dbms_system.kcfrms;
来重置该列信息。Ora-600 写了一篇 新的Oracle时间信息特性 。内容很有参考价值。
- v$session_event- Oracle Wait Interface Memo查看当前会话所有信息(转:http://www.dbanotes.net/archives/2004/12/vsession_event.html)
- http://www.qmailer.net/archives/251.html
- Oracle试图--V$SESSION_EVENT
- http://www.osyunwei.com/archives/4788.html
- http://www.dbgpro.com/archives/520.html
- http://www.techpot.net/archives/38147
- http://www.gissky.net/blog/user1/1080/archives/2005/6119.html
- iOS的AssetsLibrary框架访问所有相片(http://www.coderyi.com/archives/424)
- www.dbanotes.net 做了一些变动
- V$SESSION_WAIT和V$SESSION_EVENT和Wait Events描述
- JNI完全手册(一) yippit 原创http://www.wujianrong.com/archives/2006/02/jni_1.html
- VMware Workstation虚拟机上网设置(http://www.osyunwei.com/archives/1773.html)
- http://1www.hblog.net/archives/2008/200821462654.shtml
- 危险的SQL Server!(转自:http://bbs.51cto.com/archiver/tid-398614.html和http://www.sai52.com/archives/450/)
- 危险的SQL Server!(转自:http://bbs.51cto.com/archiver/tid-398614.html和http://www.sai52.com/archives/450/)
- V$SESSION_EVENT
- http://www.iplaysoft.com/archives
- Oracle动态性能表-(8)-V$SESSION_WAIT,V$SESSION_EVENT
- 自定义组件之属性(Property)的性质(Attribute)介绍(三)
- SQL查询语句精华使用简要介绍
- JAVA中参数传递(按值传递和引用传递)
- 今天太郁闷了
- J2EE网站
- v$session_event- Oracle Wait Interface Memo查看当前会话所有信息(转:http://www.dbanotes.net/archives/2004/12/vsession_event.html)
- DLL基础
- 简单CSS下拉菜单
- Hibernate 学习笔记
- lotuscript高级编程技术汇总
- [原创] T-SQL生成X个不重复的Y位长度的随机数
- Domino系统安全性(二)-Domino服务器的分级管理
- 时间杀手
- 選項卡 一