Heap size 5612K exceeds notification threshold (2048K)

By Lois Hicks,2014-07-08 14:37
28 views 0
Heap size 5612K exceeds notification threshold (2048K)

    10gÈÕÖ?ÎÄ?þ??Heap size 5612K exceeds notification threshold (2048K) 2008-03-31 10:09

RHEL4+Oracle 10g( ÈÕÖ?ÎÄ?þÒ?Ö???ÈçÏÂÌáÊ??º

    Memory Notification: Library Cache Object loaded into SGA Heap size 5612K exceeds notification threshold (2048K) Details in trace file

    /opt/oracle10g/admin/NM3000/bdump/nm3000_dw01_23297.trc KGL object name :SELECT /*+rule*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T', '7')),



select ksppinm, ksppstvl

    from x$ksppcv cv, x$ksppi pi

    where cv.indx = pi.indx

     and pi.ksppinm like '_kgl_large_heap_warning_threshold%';


    Subject: Memory Notification: Library Cache Object Loaded Into Sga

     Doc ID: Note:330239.1 Type: PROBLEM

     Last Revision Date: 30-MAR-2007 Status: PUBLISHED

In this Document






Applies to:

Oracle Server - Enterprise Edition - Version:

    This problem can occur on any platform.



    The following messages are reported in alert.log after 10g Release 2 is installed.

     Memory Notification: Library Cache Object loaded into SGA

     Heap size 2294K exceeds notification threshold (2048K) Changes

Installed / Upgraded to 10g Release 2


    These are warning messages that should not cause the program responsible for these errors to fail. They appear as a result of new event messaging mechanism and memory manager in 10g Release 2.

    The meaning is that the process is just spending a lot of time in finding free memory extents during an allocate as the memory may be heavily fragmented. Fragmentation in memory is impossible to eliminate completely, however, continued messages of large allocations in memory indicate there are tuning opportunities on the application.

    The messages do not imply that an ORA-4031 is about to happen. Solution

    In 10g we have a new undocumented parameter that sets the KGL heap size warning threshold. This parameter was not present in 10gR1. Warnings are written if heap size exceeds this threshold.

    Set _kgl_large_heap_warning_threshold to a reasonable high value or zero to prevent these warning messages. Value needs to be set in bytes.

    If you want to set this to 8192 (8192 * 1024) and are using an spfile:

(logged in as "/ as sysdba")

    SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;

SQL> shutdown immediate SQL> startup

SQL> show parameter _kgl_large_heap_warning_threshold


    ------------------------------------ -----------


    _kgl_large_heap_warning_threshold integer 8388608

If using an "old-style" init parameter,

Edit the init parameter file and add


    NOTE: The default threshold in is 2M. So these messages could show up frequently in some application environments.

    In, the threshold was increased to 50MB after regression tests, so this should be a reasonable and recommended value. If you continue to see the these warning messages in the alert log after applying or higher, an SR may be in order to investigate if you are encountering a bug in the Shared Pool.



    ORA-403 <str> <str> is not the same as other instances <str> ORA-4031 "unable to allocate %s bytes of shared memory


Report this document

For any questions or suggestions please email