SELECT a.ksppinm "Parameter", b.ksppstvl "Session Value",
2 c.ksppstvl "Instance Value"
3 FROM x$ksppi a, x$ksppcv b, x$ksppsv c
4 WHERE a.indx = b.indx AND a.indx = c.indx
5 AND a.ksppinm LIKE '%kgl_large_heap%';
Parameter
--------------------------------------------------------------------------------
Session Value
--------------------------------------------------------------------------------
--------------------
Instance Value
--------------------------------------------------------------------------------
--------------------
_kgl_large_heap_warning_threshold
52428800
52428800
출처 : http://gampol.tistory.com/entry/Memory-Notification-Library-Cache-Object-loaded-into-SGA
조치방법: (다음과 같이 조치후 서버 restart)
sqlplus “/as sysdba”
alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;
shutdown immediate
startup
원인: (Cause 항목 참조)
해당 오류메시지는 Error 가 아닌 Warning 입니다.
이는 shared pool 영역중 libraray cache 영역의 단편화가 심해 Free Memory를 찾는데 오랜 시간이 걸릴 때
위와 같은 오류가 발생합니다.
새로운 트랜잭션이 발생시 SQL의 파싱결과 등이 저장되는 library cache영역에 단편화로 인한 메시지로
10g R2의 메모리 관리 메커니즘에 따른 메시지로 보시면됩니다.
=======================================================================
Applies to:
Oracle Server - Enterprise Edition - Version:
This problem can occur on any platform.
Symptoms
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
Cause
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.
Real memory messages should be ORA-403x when a real memory allocation problem
occurs.
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
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_kgl_large_heap_warning_threshold integer 8388608
If using an "old-style" init parameter,
Edit the init parameter file and add
_kgl_large_heap_warning_threshold=8388608
In 10.2.0.2, the threshold is increased to 50MB after regression tests, so this should be a reasonable and recommended value.
References
http://surachartopun.com/2008/07/memory-notification-library-cache.html
10.2.0.1 Annoying message "Memory Notification: Library Cache Object loaded into SGA"
Posted: March 5, 2006 by Frits Hoogland in Oracle EE, Oracle XE
9In the 10.2.0.1 version of the oracle database a new heap checking mechanism, together with a new messaging system is introduced.
This new mechanism reports memory allocations above a threshold in the alert.log, together with a tracefile in the udump directory.
In certain situations it can be handy to know if large allocations are being done in the sga heap (shared pool),
but only to troubleshoot memory allocation problems (which eventually will appear as the infamous ORA-4031).
For normal day to day work, I doubt the effectivity of these messages.
The default limit is set at 2048K. It appears normal usage can result in messages from the memory manager.
During my last installation (with all options set default, all options installed),
this resulted in 125 messages from the memory manager.
Oracle gives a solution on metalink in note 330239.1:
Set _kgl_large_heap_warning_threshold to a “reasonable high” value. This parameter is set in bytes,
and oracle recommends the value 8388608 (8192K).
Wednesday, July 30, 2008
Memory Notification: Library Cache Object loaded into SGA
Today, I checked alert.log file. I found:
Memory Notification: Library Cache Object loaded into SGA
Heap size 9426K exceeds notification threshold (8192K)
When I found out on metalink:
These messages are report in alert.log after 10g Release 2 is installed.
Cause:
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"=10485760 scope=spfile ;
SQL> shutdown immediate
SQL> startup
SQL> show parameter _kgl_large_heap_warning_threshold
NAME TYPE VALUE
--------------------------------- ------- ------------------------------
_kgl_large_heap_warning_threshold integer 10485760
If using an "old-style" init parameter,
Edit the init parameter file and add
_kgl_large_heap_warning_threshold=10485760
'ORACLE > TroubleShooting' 카테고리의 다른 글
Unable To Start Instance due to ORA-7445 Dump In KSBNFY on Power Linux [ID 563895.1] (0) | 2012.04.20 |
---|---|
Ora-600 [Unable To Load Xdb Library] in AIX [ID 559911.1] (0) | 2012.04.20 |
ora-4031 and shared pool duration (0) | 2011.12.28 |
"Pmon Failed To Acquire Latch" Messages in Alert Log -Database Hung [ID 468740.1] (0) | 2011.12.28 |
ORA-04031 (0) | 2011.12.06 |