v$session,v$session_wait,v$session_event,v$system_event,v$event_name
v$event_name:不是动态的的视图,随数据库版本变化而变化
v$session_event:记录会话级的等待事件统计数据
v$system_event:记录实例级的会话数据
v$system_event是 v$session_event的集合
例如对 v$session_event和v$system_event统计方式测试:
查找关于TX锁的等待事件统计
当前会话的等待事件统计
当前等待事件没有行锁,v$session_event包含会话所有的等待事件统计
制造行锁:
窗口2运行
更新一张表的记录,不提交
窗口1运行
此时命令一直跑不出来
通过gv$session查看当前等待事件
出现了1个行锁。
然后把窗口1的dml操作commit,窗口2立马返回结果
再次查看窗口1的等待事件的统计信息
v$session_event中出现了TX锁,等待1次,等待了10692厘秒,也就是1分46秒,系统总的TX锁等待时间从98涨到99,等待时间也上涨了10692厘秒,与会话的等待事件记录刚好匹配。
窗口2是没有TX等待的,因为是窗口1在等待窗口2的dml操作结束,TX行锁的等待事件属于窗口1。
v$session 是记录实时的会话信息,在处理故障时经常用到,甚至查询多次该视图。v$session_wait基本已经弃用了。