持續更新關於ORACLE X$檢視彙總

gaopengtttt發表於2010-10-28

以後看到一個記錄一個,不然老是忘記。

1、X$KSMSP

名稱含義為:
[K]ernal [S]torage [M]emory Management [S]GA Hea[P],其中每一行都代表著shared pool中的一個chunk

KSMCHCOM是註釋欄位,每個記憶體塊被分配以後,註釋會新增在該欄位中.
x$ksmsp.ksmchsiz代表塊大小

x$ksmsp.ksmchcls列代表型別,主要有四類,說明如下:

free
Free chunks--不包含任何物件的chunk,可以不受限制的被分配.

recr
Recreatable chunks--包含可以被臨時移出記憶體的物件,在需要的時候,這個物件可以
被重新建立.例如,許多儲存共享sql程式碼的記憶體都是可以重建的.

freeabl
Freeable chunks--包含session週期或呼叫的物件,隨後可以被釋放.這部分記憶體有時候
可以全部或部分提前釋放.但是注意,由於某些物件是中間過程產生的,這些物件不能
臨時被移出記憶體(因為不可重建).

perm
Permanent memory chunks--包含永久物件.通常不能獨立釋放.

我們可以透過查詢x$ksmsp檢視來考察shared pool中存在的記憶體片的數量

2、x$bh

這個代表是BUFFER CACHE 中每一個塊的資訊。

欄位資訊如下:

The meaning of state:
0 FREE no valid block image
1 XCUR a current mode block, exclusive to this instance
2 SCUR a current mode block, shared with other instances
3 CR a consistent read (stale) block image
4 READ buffer is reserved for a block being read from disk
5 MREC a block in media recovery mode
6 IREC a block in instance (crash) recovery mode
tch: tch is the touch count. A high touch count indicates that the buffer is used often. Therefore, it will probably be at the head of the MRU list. See also .
tim: touch time.
class represents a value designated for the use of the block.
lru_flag
set_ds maps to addr on .
le_addr can be outer joined on .le_addr.
flag is a bit array.

Bit if set  
0 Block is dirty  
4 temporary block  
9 or 10 ping  
14 stale  
16 direct  
524288 (=0x80000) Block was read in a See

OBJ:應該就是OBJECT_ID。

x$kglpn
[K]ernel [G]eneric [L]ibrary [P]i[N]

dba_kgllock的基表

2.x$kglpn——[K]ernel [G]eneric [L]ibrary Cache Manager object [P]i[N]s

sys@ORALOCAL(192.168.0.22)> desc x$kglpn
##主要用來處理library cache pin holder
 
 
Name                                                  Null?    Type
 ---------------------------------------------------
-- -------- ------------
 
ADDR                                                           RAW(4)
 
INDX                                                           NUMBER
 
INST_ID                                                        NUMBER
 
KGLPNADR                                                       RAW(4)
 
KGLPNUSE                                                       RAW(4)
 
KGLPNSES                                                       RAW(4)
 
KGLPNHDL                                                       RAW(4)
##關聯v$session_wait中event為library cache pin的P1RAW,再關聯v$session,可以查出sid和serial#
 
 
KGLPNLCK                                                       RAW(4)
 
KGLPNCNT                                                       NUMBER
 
KGLPNMOD                                                       NUMBER
##如果值為3,表示為library cache pin的holder;如果值為0,表示為waiter
 
 
KGLPNREQ                                                       NUMBER
##如果值為0,表示為library cache pin的holder;如果值為2,表示為waiter
 
 
KGLPNDMK                                                       NUMBER
 
KGLPNSPN                                                       NUMBER

x$kglob
[K]ernel [G]eneric [L]ibrary cache [OB]ject

x$kglob.kglhdadr = v$session_wait.p1raw

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

相關文章