oracle library cache之library cache lock_library cache pin wait event釋義

wisdomone1發表於2013-04-23

library cache load lock    

1,此事件標記會話正在等待載入物件的lock
2,載入物件時必須持有排它鎖,防止其它會話載入相同的物件到library cache中
3,3個引數:各為;等待載入的物件;等待載入物件的鎖地址;等待載入物件的資料片
4,等待時間為3秒,pmon為1秒

 

library cache lock

1,控制不同客戶端會話對於library cache的併發訪問
2,獲取的是library cache的handle上面的lock
3,獲取library cache handle的lock的目的:
      1,訪問其它會話同時訪問相同的library cache object
      2,維護訪問期間物件的依賴和一致性(比如:防止訪問期間其它會話修改library cache object)
     
4,獲取這個library cache lock用於定位library cache的library cache object

5,等待時間為3秒,pmon為1秒
6,3個引數:各為:
     handle address   ---載入物件的library cache handle address
    
     lock address     --載入鎖的地址,它和latch和enqueue不是一回事,它是一個so,state object
    
     mode   ---載入物件的資料片
    
     namespace  --參考:select distinct namespace from V$DB_OBJECT_CACHE;
    
    

 

library cache pin
    1,主要管理library cache的併發(注意和library cache lock區別)
   
    2,獲取library cache pin讓heap載入到記憶體中
   
    3,客戶端想想修改或檢查一個物件,先獲取library cache lock,然後必須獲取library cache pin,真能真正修改物件或檢查物件
   
    4,等待事件為3秒,pmon為1秒
   
    5,3個引數:
        各為:
            handle address  --載入物件的handle address
           
            pin address     --載入鎖的地址,不同於latch and enqueue,是一個so
           
            mode       ---要載入物件的哪些資料片
           
            namespace   ---參上
   
              

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

相關文章