v$session,v$session_wait,v$session_event,v$system_event,v$event_name

v$event_name:不是动态的的视图,随数据库版本变化而变化

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

 v$session_event:记录会话级的等待事件统计数据

v$system_event:记录实例级的会话数据

v$system_event是 v$session_event的集合

 

例如对 v$session_event和v$system_event统计方式测试:

查找关于TX锁的等待事件统计

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

当前会话的等待事件统计

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

当前等待事件没有行锁,v$session_event包含会话所有的等待事件统计

制造行锁:

窗口2运行

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

更新一张表的记录,不提交

窗口1运行

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

此时命令一直跑不出来

通过gv$session查看当前等待事件

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

出现了1个行锁。

然后把窗口1的dml操作commit,窗口2立马返回结果

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

再次查看窗口1的等待事件的统计信息

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

v$session_event中出现了TX锁,等待1次,等待了10692厘秒,也就是1分46秒,系统总的TX锁等待时间从98涨到99,等待时间也上涨了10692厘秒,与会话的等待事件记录刚好匹配。

窗口2是没有TX等待的,因为是窗口1在等待窗口2的dml操作结束,TX行锁的等待事件属于窗口1。

v$session,v$session_wait,v$session_event,v$system_event,v$event_name

 

v$session 是记录实时的会话信息,在处理故障时经常用到,甚至查询多次该视图。v$session_wait基本已经弃用了。