V$EVENT_NAME
displays information about wait events.
Column | Datatype | Description |
---|---|---|
EVENT# | NUMBER | Number of the wait event |
EVENT_ID | NUMBER | Identifier of the wait event |
NAME | VARCHAR2(64) | Name of the wait event |
PARAMETER1 | VARCHAR2(64) | Description of the first parameter for the wait event |
PARAMETER2 | VARCHAR2(64) | Description of the second parameter for the wait event |
PARAMETER3 | VARCHAR2(64) | Description of the third parameter for the wait event |
WAIT_CLASS_ID | NUMBER | Identifier of the class of the wait event |
WAIT_CLASS# | NUMBER | Number of the class of the wait event |
WAIT_CLASS | VARCHAR2(64) | Name of the class of the wait event. See"Classes of Wait Events"for a description of the different wait event classes. |
v$event_name不是动态的v$视图,它提供的信息并不随时间而变化。它是参考视图,包含所有为数据库实例定义的等待事件。
desc v$event_name; |
event#是事件的唯一编号,该编号是由Oracle代码中的编译时间宏生成,所以对于同一等待事件,从一个Oracle版本到另一个版本时,这一编号会发生变化。
event_id列,包含基于事件名称的一个散列值。只要该事件名称不变,改散列值在不同的版本间就会保持不变。
name包含等待事件的名称,每个等待事件最多有三个属性,分别记录在parameter1, parameter2, parameter3列中。这些属性给出等待事件每次发生时的特定信息。
wait_class_id包含等待类名的散列值,只要等待类名不变,该散列值将在版本间保持不变。
wait_class#包含wait_class的唯一编号,该编号可能随版本变化而改变。
wait_class包含等待事件类的实际名称。
以下来自Oracle Wait Interface: V$EVENT_NAME
v$event_name 从 X$ 表 X$ksled(Kernel Service Latch Event Descriptors) 而来,创建语句类似如下:
SELECT inst_id, indx, ksledhash, kslednam, ksledp1, ksledp2, ksledp3,
ksledclassid, ksledclass#, ksledclass
FROM x$ksled;
对应的列:
MEANINGFUL NAME X$ TABLE COLUMN NAME
===================== ======================
event# indx
event_id ksledhash
name kslednam
parameter1 ksledp1
parameter2 ksledp2
parameter3 ksledp3
wait_class_id ksledclassid
wait_class# ksledclass#
wait_class ksledclass
而 V$SESSION_WAIT 视图是基于 x$ksusecst 、x$ksled这两个固定表的,所以 v$event_name 的 PARAMETER1、PARAMETER2 PARAMETER3 对应 V$SESSION_WAIT 中的 P1、P2、P3 列也不足为奇了。
联系客服