Latch: cache buffer chains (%)
原連結:https://docs.oracle.com/cd/B16240_01/doc/doc.102/e16282/oracle_database_help/oracle_database_wait_bottlenecks_latch_cache_buffer_chains_pct.html
Latch: cache buffer chains (%)
Description
The cache buffers chains latches are used to protect a buffer list in the buffer cache. These latches are used when searching for, adding, or removing a buffer from the buffer cache.
Blocks in the buffer cache are placed on linked lists (cache buffer chains) which hang off a hash table. The hash chain that a block is placed on is based on the DBA and CLASS of the block. Each hash chain is protected by a single child latch. Processes need to get the relevant latch to allow them to scan a hash chain for a buffer so that the linked list does not change underneath them.
Contention on this latch usually means that there is a block that is in great contention (known as a hot block).
Metric Summary
The rest of the information in this section is only valid for this metric when it appears in either the Enterprise Manager Grid Control or the Enterprise Manager Database Control (if applicable).
The following table shows how often the metric's value is collected and compared against the default thresholds. The 'Consecutive Number of Occurrences Preceding Notification' column indicates the consecutive number of times the comparison against thresholds should hold TRUE before an alert is generated.
Target Version |
Evaluation and Collection Frequency |
Upload Frequency |
Operator |
Default Warning Threshold |
Default Critical Threshold |
Consecutive Number of Occurrences Preceding Notification |
Alert Text |
pre-10g |
Every Minute |
After Every Sample |
> |
20 |
Not Defined |
3 |
%value%%% of service time is spent waiting on the 'latch: cache buffer chains' event. |
Data Source
(DeltaLatchCacheBufferChainsTime/DeltaServiceTime)*100 where:
-
DeltaLatchCacheBufferChainsTime: difference of 'sum of time waited for sessions of foreground processes on the 'latch: cache buffer chains' event' between sample end and start
-
DeltaServiceTime: difference of 'sum of time waited for sessions of foreground processes on events not in IdleEvents + sum of 'CPU used when call started' for sessions of foreground processes' between sample end and start
See Idle Events
User Action
To identify the heavily accessed buffer chain, and hence the contended for block, look at latch statistics for the cache buffers chains latches using the V$LATCH_CHILDREN view. If there is a specific cache buffers chains child latch that has many more GETS, MISSES, and SLEEPS when compared with the other child latches, then this is the contended for child latch.
This latch has a memory address, identified by the ADDR column.
SELECT addr, sleeps FROM v$latch_children c, v$latchname n WHERE n.name='cache buffers chains' and c.latch#=n.latch# and sleeps > 100 ORDER BY sleeps /
Use the value in the ADDR column joined with the V$BH view to identify the blocks protected by this latch. For example, given the address (V$LATCH_CHILDREN.ADDR) of a heavily contended latch, this queries the file and block numbers:
SELECT file#, dbablk, class, state, TCH FROM X$BH WHERE HLADDR='address of latch';
X$BH.TCH is a touch count for the buffer. A high value for X$BH.TCH indicates a hot block.
Many blocks are protected by each latch. One of these buffers will probably be the hot block. Any block with a high TCH value is a potential hot block. Perform this query a number of times, and identify the block that consistently appears in the output.
After you have identified the hot block, query DBA_EXTENTS using the file number and block number to identify the segment.
Related Topics
About Alerts
About the Metric Detail Page
Editing Thresholds
Understanding Line Charts
Copyright © 1996, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-1385292/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- cbc latch或cache buffer chains latch系列一AI
- buffer cache實驗6-latch:cache buffers lru chainsAI
- CACHE BUFFER CHAINSAI
- latch: cache buffers chainsAI
- 客戶資料庫出現大量cache buffer chains latch資料庫AI
- Oracle Cache Buffer ChainsOracleAI
- latch:cache buffers chains案例AI
- buffer busy waits, latch cache buffers chains, read by other session區別AISession
- 深入理解latch: cache buffers chainsAI
- Trouble shooting latch: cache buffers chainsAI
- ORACLE等待事件latch: cache buffers chainsOracle事件AI
- 等待事件_cache_buffers_chains_latch事件AI
- Cache Buffer Chain Latch等待事件AI事件
- latch:cache buffers chains解決步驟AI
- latch:cache buffers chains的優化思路AI優化
- cr塊和latch buffer cache chainAI
- cache buffer chain latch只讀共享?AI
- cache buffer lru chain latch等待事件AI事件
- 【BUFFER】Oracle buffer cache之 latch 學習記錄Oracle
- buffer cache實驗5-latch:cache buffers chainAI
- latch:cache buffers chains的最佳化思路AI
- latch: cache buffers chains---AWR實戰分析AI
- latch free 中 cache buffer chain 的整理AI
- buffer cache與相關的latch等待事件事件
- latch: cache buffers chains故障處理總結(轉載)AI
- 解決一例latch:cache buffers chains小記AI
- cache buffer chain latch可以以只讀模式共享AI模式
- 一次latch cache buffers chains問題的處理AI
- 處理 latch_cache_buffers_chains等待事件一例AI事件
- cache buffers chains and cache buffers lru chainsAI
- oracle實驗記錄 (buffer_cache分析(2)cbc latch)Oracle
- latch: cache buffers chains-熱塊的簡單模擬實驗AI
- 【原創】cache buffer chains的一次解決過程AI
- Bug 3797171 cache buffers chains latch contention increased in 10g-3797171.8AI
- mutex,latch,lock,enqueue hash chains latch基礎概念MutexENQAI
- oracle實驗記錄(buffer_cache分析(3)cbc lru chain latch)OracleAI
- cache buffers chains vs cache buffers lru chainAI
- Buffer Cache 原理