'enq HW - contention' For Busy LOB Segment (文件 ID 740075.1)
In this Document
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review. |
Applies to:
Oracle Server- Enterprise Edition - Version 9.2.0.1 and laterInformation in this document applies to any platform.
Checked for relevance on 09-Jul-2012
Symptoms
1.There is a performance slow down with a large number of waits for 'enq HW - contention'.
2.Using the following note Note 419348.1 "How To Analyze the Wait Statistic 'enq HW - contention' " a LOB object is identified as the object where the wait is occurring.
Cause
Frequent allocation of extents, reclaiming chunks, and sometimes poor I/O performance may be causing contention for the LOB segments high water mark.
Solution
As the 'enq HW - contention' may be caused by a number of different reasons, there are also several possible different solutions to alleviate or reduce contention.
Things to check are:-
1. Ensure that your lob segment is not frequently extending.
2. Check I/O performance.
3. A table containing a very busy lob segment may need partitioning in a manner that will evenly distribute concurrent DML across multiple partitions.
4. Frequent lob space/chunk reclaimation can also cause 'enq HW - contention'
In the case of point 4. there are a couple of options that may be able to be employed to provide either temporary relief or a workaround for the problem
a. Manually adding extra space to the LOB segment can alleviate the issue by allocating more free space to the lob segment to chunk reclaimation does not need to take place, until the free space is again used up
ALTER TABLE
MODIFY LOB (
** The following ALERT should be READ before manually allocating space to a LOB Segment
- NOTE 1229669.1 Bug 8198906 - Segment header corruption if extent allocation operation is interrupted
b. Using the shrink space command or dbms_redefinition process (for SECUREFILE LOBS) can be used to free up any reclaimable space.
ALTER TABLE test_lob MODIFY LOB (image) (SHRINK SPACE);
** The following documents should be READ before performing a LOB Shrink Operations
- Bug 5636728 - LOB corruption / ORA-1555 when reading LOBs after a SHRINK operation (Doc ID 5636728.8)
- Bug 5768710 - ALTER TABLE SHRINK slow with LOB (Doc ID 5768710.8)
c. When using Automatic Segment Space Management (ASSM), and the fix for Bug 6376915 has been applied in your database (Included in 10.2.0.4 +) it is possible to adjust the number of chunks that are cleaned up
when the chunk cleanup operation is required.
This can be enabled by setting event 44951 to a value between 1 and 1024 (default is 1). With the value between 1 and 1024 setting the number of chunks to be cleaned up each time a chunk reclaimation operation occurs. This can therefore reduce the number of requests for the High Watermark Enqueue.
EVENT="44951 TRACE NAME CONTEXT FOREVER, LEVEL < 1 - 1024 >"
Refer to NOTE 6376915.8 "Bug 6376915 HW enqueue contention for ASSM LOB segments"
With Manual Segment Space Management, this value cannot be altered and is fixed at 128.
References
NOTE:8198906.8 - Bug 8198906 - OERI [kddummy_blkchk] / OERI [5467] for an aborted transaction of allocating extentsNOTE:9711859.8 - Bug 9711859 - ORA-600 [ktsptrn_fix-extmap] / ORA-600 [kdblkcheckerror] during extent allocation caused by bug 8198906
NOTE:130814.1 - How To Move LOB Data To Another Tablespace
NOTE:365156.1 - Rebuilding LOB freepools
NOTE:419348.1 - How To Analyze the Wait Statistic: 'enq: HW - contention'
BUG:6376915 - ENQ: HW - CONTENTION WITH LOB SEGMENTS
BUG:8198906 - ORA-00600: [5467] BY SMON WHILE RECOVERING TRANSACTION
BUG:9711859 - ORA-600 [KTSPTRN_FIX-EXTMAP] DURING EXTENT ALLOCATION
NOTE:6376915.8 - Bug 6376915 - HW enqueue contention for ASSM LOB segments
NOTE:1229669.1 - Bug 8198906 - Segment header corruption if extent allocation operation is interrupted
NOTE:5636728.8 - Bug 5636728 - LOB corruption / ORA-1555 when reading LOBs after a SHRINK operation
NOTE:5768710.8 - Bug 5768710 - ALTER TABLE SHRINK slow with LOB
NOTE:1394613.1 - How to Shrink a SECUREFILE LOB Using Online Redefinition (DBMS_REDEFINITION)?
NOTE:9801919.8 - Bug 9801919 - "enq: HW - contention" against segments that add an extent frequently during high concurrency
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-773452/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- enq: HW - contentionENQ
- How To Analyze the Wait Statistic: 'enq: HW - contention' (文件 ID 419348.1)AIENQ
- 等待事件之enq: HW - contention事件ENQ
- Bug 6376915 - HW enqueue contention for ASSM LOB segments (文件 ID 6376915.8)ENQSSM
- 如何診斷等待事件 enq: HW - contention事件ENQ
- enq: HW - contention 問題的處理ENQ
- 大量insert引起的enq: HW - contention等待ENQ
- enq: HW - contention診斷及解決過程ENQ
- ORACLE 如何診斷高水位爭用(enq: HW – contention)OracleENQ
- [20161208]等待事件enq: HW - contention事件ENQ
- [20140311]等待事件enq HW - contention事件ENQ
- Enq : HW-contention高水位線的擴充套件競爭ENQ套件
- 【MOS】Troubleshooting 'enq: TX - index contention' Waits (文件 ID 873243.1)ENQIndexAI
- 【MOS】12c RAC "enq: IV - contention" (文件 ID 2028503.1)ENQ
- enq: US - contentionENQ
- enq: TM - contentionENQ
- enq:TM contentionENQ
- enq: DX - contentionENQ
- enq: TS - contentionENQ
- zt_Oracle enq: TX contention 和 enq: TM contention 等待事件OracleENQ事件
- enq:TX - index contentionENQIndex
- enq: TX - index contentionENQIndex
- enq: TX - row lock contentionENQ
- 關於enq: US – contentionENQ
- enq: WF - contention等待事件ENQ事件
- enq: CF - contention 等待事件ENQ事件
- enq: TX - index contention等待ENQIndex
- enq: TS - contention 等待事件ENQ事件
- ORACLE LOB SEGMENT常規管理Oracle
- enq: SQ - contention" waits in RACENQAI
- 【故障解決】enq: PS - contentionENQ
- enq:TM-contention事件等待ENQ事件
- 消除 enq: DX - contention 等待事件ENQ事件
- 'enq: TX - index contention' Waits in a RAC Environment. [ID 873243.1]ENQIndexAI
- 【恩墨學院】經典故障分析 - ASSM引發的索引爭用與 enq HW -contention 等待事件SSM索引ENQ事件
- Oracle等待事件之enq: TM – contentionOracle事件ENQ
- 等待事件enq: TX - row lock contention事件ENQ
- oracle等待事件之enq: CF – contentionOracle事件ENQ