eygle Eygle.
Internal 2012-09-19

Oracle Kernel : Function kglic & Library Cache Latch

最近在客户的一个案例中,遇到Latch : Library Cache的竞争,其竞争位于kglic函数调用。

以下是关于KGLIC函数的功能简要说明:

1. kglic means Kernel Generic Library cache Iterate Chain (AFAIK), it's the function which is executed when you access most X$KGL tables.

2. kglic is the code which goes through the  library cache and row cache to answer queries on various dictionary fixed  views and tables. This is the  function which returns data for the fixed views and tables that scan the sql  area.  Therefore, it was highly possible that such queries could also be coming from  monitoring tools used by DBAs and they are not restricted to the two views  specifically mentioned in the bug by Joan. Any monitoring job which looks at  v$open_cursor would also use the kglic iterator.

与此相关的BUG,在10g中仍然存在,最后确认客户有较为频繁的查询访问v$sql视图,导致了严重的library cache的竞争。

以下BUG的影响版本为10.2.0.4,10.2.0.5,11.2.0.2 :
Bug 9287616 - Accessing [G]V$SQL or [G]V$SQLTEXT_WITH_NEWLINES may be slow / takes a long time / latch contention (Doc ID 9287616.8)





By eygle 2012-09-19 08:27 评论 (0)
eygle
eygle

前Oracle ACE Director,云和恩墨创始人。技术为骨,历史为脉,人文为魂。

返回首页 →