Library cache: mutex X
对于该Library cache: mutex X等待事件而言,可能存在多种原因:
- “library cache: mutex X” 等待事件症状在11g之后较为常见,原因多样,所以一定要找root cause。
- 已知有不少bug引起该”library cache: mutex X”的。这些bug有些与mutex有关有些又无关。bug信息见附录。
- 在一些例子中问题常由于应用程序变更而引发。 同时也要注意登陆 logon 或 登出logoff暴风所引起的问题。
- 这个mutex在KGL的bucket中。
Library cache: mutex X的其他一些常见原因:
- 频繁的硬解析hard parse
- 如果硬解析真的十分激烈,那么争用常发生在pin上
- 高的version count,SQL游标版本过多
- 当某些SQL的version count非常高时,一大串的version要被检验那么可能导致Library cache: mutex X
- SQL的Invalidations 和 reloads
- BUG
- 操作系统相关问题 例如 Bug:7441165 – CPU Pre-emption can cause problems on Solaris (this fix only applies to this OS)
如果自己搞不定可以找诗檀软件专业ORACLE数据库优化团队成员帮您调优!
诗檀软件专业数据库优化团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
library cache: mutex X相关BUG:
NB Bug Fixed Description 15858022 12.1.0.0 Frequent invalidation of tuning objects with VPD 14401731 11.2.0.4, 12.1.0.0 Cursor leak using "SET TRANSACTION" within PLSQL 13810393 12.1.0.0 Deadlock waiting for 'library cache: mutex x' while producing an ORA-4031 diagnostic dump 13720753 11.2.0.4, 12.1.0.0 Diagnosability issue - mutex wait "idn" value truncated in session wait output in tracefile 13588248 11.2.0.2.BP17, 11.2.0.3.3, 11.2.0.3.BP06, 12.1.0.0 "library cache: mutex X" contention for objects with very many library cache locks 12976376 11.2.0.2.6, 11.2.0.2.BP16, 11.2.0.3.3, 11.2.0.3.BP05, 12.1.0.0 High VERSION_COUNT for SQL with binds, including recursive dictionary SQL - superseded 12797420 11.2.0.3.3, 11.2.0.3.BP07, 12.1.0.0 "library cache: mutex X" waits on DB instance handle with CURSOR_SHARING 11818335 11.1.0.7.9, 11.2.0.2.2, 11.2.0.2.BP06, 11.2.0.3, 12.1.0.0 Additional support for bug 10411618 to allow dynamic Mutex wait scheme changes 11719151 11.2.0.3, 12.1.0.0 SQL Plan Management capture causes slowness 10632113 11.2.0.3, 12.1.0.0 OLS calls cause mutex contention even with low number of concurrent users 10417716 11.2.0.2.5, 11.2.0.2.BP05, 11.2.0.2.GIPSU05, 11.2.0.3, 12.1.0.0 Mutex X waits in 11G on an instance with heavy JAVA usage 10284845 11.2.0.3, 12.1.0.0 Need index on SID for X$KGLLK and X$KGLPN based views (V$OPEN_CURSOR etc..) 10284838 11.2.0.2.5, 11.2.0.2.BP13, 11.2.0.2.GIPSU05, 11.2.0.3, 12.1.0.0 Cache line contention while waiting for mutexes 10204505 11.2.0.3, 12.1.0.0 SGA autotune can cause row cache misses, library cache reloads and parsing 10086843 11.2.0.3, 12.1.0.0 Recursive SQL cursors not reused - PMON crashes instance with ORA-600 [kglLockOwnersListDelete] 9530750 11.2.0.2, 12.1.0.0 High waits for 'library cache: mutex X' for cursor Build lock 9239863 11.2.0.1.BP06, 11.2.0.2, 12.1.0.0 Excessive "library cache:mutex X" contention on hot objects 8981059 11.1.0.7.4, 11.2.0.1.2, 11.2.0.1.BP06, 11.2.0.2, 12.1.0.0 High Version Count (due to USER_BIND_PEEK_MISMATCH) with bind peeking 8860198 11.2.0.2, 12.1.0.0 "library cache:mutex X" waits using XMLType 7352775 11.2.0.2, 12.1.0.0 Many child cursors when PARALLEL_INSTANCE_GROUP set wrong 12670165 11.2.0.2.4, 11.2.0.2.BP12, 11.2.0.3 Library cache mutex contention caused by lookup of triggers 12633340 11.2.0.2.6, 11.2.0.2.BP13, 11.2.0.3 Heavy "library cache lock" and "library cache: mutex X" contention for a "$BUILD$.xx" lock 8793492 11.2.0.1.BP07, 11.2.0.2 Mutex Waits with Resource Manager 10145558 11.1.0.7.7, 11.2.0.1.BP12, 11.2.0.2 Selects on library cache V$/X$ views cause "library cache: mutex X" waits 9398685 11.2.0.2 High "library cache: mutex X" when using Application Context 9282521 11.2.0.2 Excessive "library cache:mutex X" contention on hot objects 9140262 11.2.0.2 ORA-600 [ksliwat5] followed by cpu spike/"library cache: mutex X" Waits 9003145 11.2.0.1.BP03, 11.2.0.2 Dump (kglIsOwnerVersionable) / "library cache: mutex X" waits 7502237 11.1.0.7.7, 11.2.0.1 Unnecessary "library cache: mutex X" waits using stored Java 7307972 11.1.0.7.2, 11.2.0.1 Excessive waits on 'library cache: mutex x' 8431767 High "library cache: mutex X" when using Application Context 9312879 11.1.0.7.7, 11.2.0.1 "library cache: mutex x" waits after killing sessions / PMON slow to clean up 7648406 10.2.0.5, 11.1.0.7.4, 11.2.0.1 Child cursors not shared for "table_..." cursors (that show as "SQL Text Not Available") when NLS_LENGTH_SEMANTICS = CHAR 7155860 11.2.0.1 Spin on kgllkde causes 'library cache: mutex X' 8499043 11.1.0.7.2 SET_CONTEXT incurs unnecessary DLM overhead in RAC 5928271 11.1.0.7 Excessive waits on "library cache: mutex X" 7317117 11.2.0.1 Unnecessary "library cache: mutex X" waits on LOB operations
Comment