cache buffers chains and cache buffers lru chains

tolilong發表於2012-10-21
[@more@]
cache buffers chains:
使用高速緩衝區的時候,查詢或修改hash chain要獲得相應的cache buffers chains.
爭用的話,主要是在兩個方面:
1)低效的sql
2)hot block
select * from (select child#,gets,sleeps from v$latch_children where name='cache buffers chains'
order by sleeps desc)
where rownum<20
這條sql可以確定是低效sql引起的cache buffers chains還是host block引起的
如果在查詢的結果當中,裡面有特定cache buffers chains的get和sleep數值比其他的高,表明是hot block
否則就要檢視是不是低效的sql引起的。
減少hot block可以提高pctfree,使用小塊,分散快
---=============================================================
cache buffers LRU chains:
要檢視或修改工作組(LRU+LRUW)的程式,就需要獲得cache buffers lru chain
1)程式欲讀取還沒有裝載到記憶體上的塊時,透過查詢LRU列分配到所需的空閒緩衝區,此過程需要
cache buffers lru chains
2)DBWR為了將髒緩衝區記錄到disk上去,查詢LRUW列,將相應的緩衝區移動到LRU列的過程,也需要
cache buffers lru chains
a.多個會話同時掃描一個table或一個index的時候,發生cache buffers chain的機率較大
b.多個會話同時掃描多個table或多個index的時候,發生cache buffers lru chain的機率較大
c.低效的index scan時,則會發生db file sequential read等待和cache buffers chain等待
d.不必要的table scan時候,則會發生db file scattered read等待和cache buffers lru chain的等待

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

相關文章