Bug 13250244 - Shared pool leak of "KGLHD" memory when using multiple subpools (文档 ID 13250244.8)

Bug 13250244  Shared pool leak of "KGLHD" memory when using multiple subpools

 This note gives a brief overview of bug 13250244. 
 The content was last updated on: 05-JUL-2013
 Click here for details of each of the sections below.

Affects:

Product (Component)Oracle Server (Rdbms)
Range of versions believed to be affectedVersions >= 11.1 but BELOW 12.1
Versions confirmed as being affected
Platforms affectedGeneric (all / most platforms affected)

Fixed:

This issue is fixed in

Symptoms:

Related To:

Description

Shared pool memory of type "KGLHD" may be leaker, potentially
leading to ORA-4031 errors when multiple shared pool subpools
are in use. 
 
The problem is easily triggered if stored outlines are used, but the use
of stored outlines is not required to hit this problem.
 
Rediscovery Notes:
This problem may be being seen of both of the following are true:
 (a) Hitting ORA-4031 or shared pool usage increases due 
     to many "KGLHD" allocations
 (b) Multiple shared pool subpools are in use.
     (eg the internal parameter _kghdsidx_count set to a value greater than 1)
 
Workaround
  Set "_kghdsidx_count"=1 so that only one shared pool subpool is used.
  Note that in highly concurrent environments this workaround may cause 
  shared pool and library cache latch related contention issues.
 
Getting a Fix
 Use one of the "Fixed" versions listed above
 (for Patch Sets / bundles use the latest version available as
  contents are cumulative - the "Fixed" version listed above is
  the first version where the fix is included)
 or
 You can check for existing interim patches here: Patch:13250244
 
Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. For questions about this bug please consult Oracle Support.

References

Bug:13250244 (This link will only work for PUBLISHED bugs)

Note:245840.1 Information on the sections in this article

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

KGLHD is not Function 

KGL ->  Kernel Generic Library 
KGLHD  Library cache Handle structure
KGLOB - Object structure
KGLNA - Name structure



KGLHD -> KGLOB
               ->  KGLNA -> KGLNA->KGLNA




Object Handles

All objects that are stored in the library cache are accessed by using handles (kglhd). The handle stores the name of the object, its namespace, some flags that are used to get information about the object (if the object is read-only, remote or local, in CGA memory, marked to be kept pinned in memory, and so on), and statistical information regarding the object. The handle is also used by the library cache to keep a list of all users who have locks, pins, or references to the object as well as those who are waiting to acquire locks or pins on it.
Object handles are placed in linked lists according to a hashing algorithm, which is a function of the object’s name and namespace.


When a process requests an object, the library cache manager applies the hashing algorithm to determine the linked list (hash bucket) to be searched. If the object is in cache, the appropriate object handle will be found. It is possible for the handle to be in memory but the object heaps have been aged out. The object handle will tell us that. In this case, the required object heaps are reloaded. Finally, it is possible that the object handle is not found. In this case, a new one must be allocated, it must be populated with the object information, and the object heaps must be loaded. 


Handles: kglhd

Files kgl.c kgl2.c kgl.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值