ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在10g 中隐含参数 _kgl_large_heap_warning_threshold

在10g 中隐含参数 _kgl_large_heap_warning_threshold

原创 Linux操作系统 作者:kewin 时间:2009-11-11 23:44:30 0 删除 编辑
在一次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博客 ” ,链接:https://blog.itpub.net/40239/viewspace-619446/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-10

  • 博文量
    125
  • 访问量
    618297