在10g 中隐含参数 _kgl_large_heap_warning_threshold

在一次WINDOWS 从9I升级到10g过程中,alert.log出现了在9I中没有遇到过的错误:

Tue Nov 10 22:16:35 2009

Memory Notification: Library Cache Object loaded into SGA

Heap size 2795K exceeds notification threshold (2048K)

Details in trace file d:\oradata\admin\kong\udump\kong_ora_3404.trc

KGL object name :grant select on PLUGGABLE_SET_CHECK to SELECT_CATALOG_ROLE

感觉这仅仅是个notification,但从没有遇到过。library cache object加载到SGA中,为什么会超出threhold。



原来在10G, ORACLE引入了一个没有公开的参数: _kgl_large_heap_warning_threshold。

这个值的是以BYTES为单位。在10GR1版本还不存在这个参数。

出现这个提示是需要某进程花费了大量的时间在寻找空闲内存,因为内存已经被严重碎片化。频繁出现这个提示,暗示需要优化该系统。

这个alert信息仅仅是提示,不意味着ORA-4031错误会发生。

如果要屏蔽这个提示,可以设置该值为一个更大的值,或者设置为0.

在10.2.0.1版本,该值缺省值为2M,在某些环境中,该提示会频繁出现;

到了10.2.0.2,oracle意识到这个问题,已经把缺省值加到了50Mb,这个值对多数系统来说已经足够。



查看隐藏参数的脚本:

select ksppinm, ksppstvl

  from x$ksppcv cv, x$ksppi pi

where cv.indx = pi.indx

   and pi.ksppinm like '_kgl_large_heap_warning_threshold%';



我的这个环境执行的结果:

SQL> select ksppinm, ksppstvl

  2    from x$ksppcv cv, x$ksppi pi

  3   where cv.indx = pi.indx

  4     and pi.ksppinm like '_kgl_large_heap_warning_threshold%';



KSPPINM

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



KSPPSTVL

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



_kgl_large_heap_warning_threshold

2097152





已选择 1 行。





SQL> select 2097152/1024 from dual;



2097152/1024

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

        2048



已选择 1 行。



2048K值是alert.log日志中的 exceeds notification threshold (2048K) 的数值。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/40239/viewspace-619446/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/40239/viewspace-619446/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值