Memory Notification: Library Cache Object loaded into SGA

 

公司业务系统,查询报错,窗口闪退

系统架构:linux+weblogic+oracle

第一:查weblogic后台日志无相关报错

第二:查数据库后台日志:

Memory Notification: Library Cache Object loaded into SGA

Heap size 4038K exceeds notification threshold (2048K)

KGL object name :   select m1.deptno,         o1.orgname deptname,         m1.officeno,         o2.orgname officename,         m1.datetime,         m1.gzflg,         p1.postname gztext,         m1.usertype,         p2.paramname typetext,         m1.gxflg,         p3.paramname gxtext,         m1.cpflg,         p4.paramname cptext,         m1.regdate,         m1.gjflg,         p5.sltext gjtext,         m1.zjflg,         p6.rankname zjtext,         m1.starno,         p7.paramname starname,         m1.flflg,         p8.paramnam

Wed Jan 28 19:03:03 2015

报错如红色标注

分析原因:Oracle10g中,在load较大的对象进library cache中时,会记录以上警告。
            在版本10.2.0.1中(目前用的版本正是10.2.0.1),这个定义大对象的阈值是2M,这是由隐含参数 _kgl_large_heap_warning_threshold 指定的。

 

数据库版本为10.2.0.1.0
alter system set "_kgl_large_heap_warning_threshold" =10485760 scope=spfile;
然后重启数据库
SQL> show parameter kgl;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
_kgl_large_heap_warning_threshold    integer     10485760

延伸:
1、oracle的隐含参数(以_开头的参数),无法直接通过 show parameter来查看,可以通过X$KSPPI和X$KSPPCV视图来查看(sys用户)。
2、_kgl_large_heap_warning_threshold值以字节为单位
3、从oracle10.2.0.2起,这个参数的默认值被修改为50M
select KSPPDESC from x$ksppi where ksppinm like ‘_kgl_large_heap_warning%‘;
maximum heap size before KGL writes warnings to the alert log --表明如果超出该kgl的最大值则写入警告日志

 



 

本文出自 “一凡” 博客,请务必保留此出处http://1336014.blog.51cto.com/1326014/1610702

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。