Oracle V$event_name 整理

zecaro發表於2011-03-13

V$EVENT_NAME (10gR2)

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 for a description of the different wait event classes.

原文連結

v$event_name不是動態的v$檢視,它提供的資訊並不隨時間而變化。它是參考檢視,包含所有為資料庫例項定義的等待事件。

 desc v$event_name;
名稱                                      是否為空? 型別
----------------------------------------- -------- --------------
EVENT#                                             NUMBER
EVENT_ID                                           NUMBER
NAME                                               VARCHAR2(64)
PARAMETER1                                         VARCHAR2(64)
PARAMETER2                                         VARCHAR2(64)
PARAMETER3                                         VARCHAR2(64)
WAIT_CLASS_ID                                      NUMBER
WAIT_CLASS#                                        NUMBER
WAIT_CLASS                                         VARCHAR2(64)

event#是事件的唯一編號,該編號是由Oracle程式碼中的編譯時間宏生成,所以對於同一等待事件,從一個Oracle版本到另一個版本時,這一編號會發生變化。

event_id列,包含基於事件名稱的一個雜湊值。只要該事件名稱不變,改雜湊值在不同的版本間就會保持不變。

name包含等待事件的名稱,每個等待事件最多有三個屬性,分別記錄在parameter1, parameter2, parameter3列中。這些屬性給出等待事件每次發生時的特定資訊。

 wait_class_id包含等待類名的雜湊值,只要等待類名不變,該雜湊值將在版本間保持不變。

wait_class# 包含wait_class的唯一編號,該編號可能隨版本變化而改變。

wait_class 包含等待事件類的實際名稱。


以下來自

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 列也不足為奇了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23650854/viewspace-689311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章