在检查ORACLE日志的时候,会发现有这样的告警信息
Memory Notification: Library Cache Object loaded into SGA
Heap size 5092K exceeds notification threshold (2048K)
KGL object name :select count(*) from ( select act_name,'1',register_time,terminal_id,fee_terminal_id,area_name,a.fee_type,a.fee
from XXX_NFO_M a,v_s_act_info b where a.act_id=b.act_id and fee_terminal_id='13700230004' union select act_name,'2'
,register_time,dest_terminal_id,fee_terminal_id,area_name,a.fee_type,a.fee from XXX_USER_INFO_M a,v_s_act_info b where a.
act_id=b.act_id and fee_terminal_id='13700230004' union select act_name,'3',register_time,dest_terminal_id,fee_terminal_id,area_n
a
经检查发现是ORACLE的一个微小的BUG(10.2.0.1),在后续的版本中已经改进。如果要在该版本中将告警抑制住可以进行如下操作:
SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;
SQL> startup force
SQL> show parameters_kgl_large_heap_warning_threshold
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_kgl_large_heap_warning_threshold integer 8388608
In 10.2.0.2, 这个阀值已经能够增到 50MB
ORACLE官方的解释:
Applies to: Oracle Server - Enterprise Edition - Version:
This problem can occur on any platform.
. SymptomsThe 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)
ChangesInstalled / Upgraded to 10g Release 2
CauseThese 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-403X is about to happen.
SolutionIn 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.
-:)