oracle mutex概念掃盲之一

wisdomone1發表於2013-03-20

1,mutex是作業系統的一種物件;
2,mutex保護對於oracle共享記憶體結構的訪問
3,透過mutex實現對於共享記憶體結構的序列式訪問
4,透過不同方式使用或定位mutex,比如:parent cursor有它獨立的mutex
  ,child cursor有它獨立的mutex;
  不同的mutex保護不同的共享記憶體結構
 
---------------------------------------------------
mutex與latch的幾點不同:
1,mutex比latch更小,操作更快;原因在於它們比latch包含的內部指令更少
2,mutex比latch佔用的記憶體資源和空間更少,mutex比latch發生競爭的機會更低
  比latch可以提供更多的保護和更強的伸縮性
3,mutex還有一個很不錯的特性:多個持有共享模式的併發會話可以同時引用它;
  mutex發揮2個作用:1,與latch一樣序列化訪問記憶體結構資源;
                    2,防止物件從memory buffer老化,即保證讓物件pin住
4,因為latch和mutex是2個獨立的結構,所以一個會話可同時持有latch和mutex

5,oracle自10g r2用mutex代替一部分之前latch的機制;為了提升library cache
  中cursor執行速度和hard parse time;便用mutex代替了latch;
  在這個情景下,用mutex替代了library cache latches和library cache pins
 
6,mutex比latch佔用的cpu資源更少                       
 

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

相關文章