關於no-wait latch 的疑問

tolywang發表於2011-03-01
Oracle 10g  


No-Wait latch  --  對於這種latch ,  會有很多可用的。 當一個程式請求其中一個latch 時, 會以 no-wait 模式開始請求。
如果所請求的 latch 不可用, 則程式不會等待, 而是立刻請求另外一個 latch 。 只有當所有的latch 都不能獲得時, 才會
進入等待 。  

以buffer cache中的latch 為例 ,buffer cache 中的latch , 都是針對一個實體記憶體地址, 一個使用者或程式獲得了訪問這個
實體記憶體地址的latch,   那麼更新期間其他使用者或程式不能獲得這個latch ,     no-wait latch 顯然對於 buffer cache中的
這種模式不適合 , “如果所請求的 latch 不可用, 則程式不會等待, 而是立刻請求另外一個 latch ”, 程式需要更新的
是目前已經被佔用的latch 對應的實體記憶體地址, 不等待而立刻請求另外一個latch 是不可能的 。  

那麼 no-wait latch  一般用在哪些地方 ?

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

相關文章