• 笔记:Memory Notification: Library Cache Object loaded into SGA



    笔记:Memory Notification: Library Cache Object loaded into SGA

    在警告日志中发现一些这样的警告信息:

    Mon Nov 21 14:24:22 2011
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 5800K exceeds notification threshold (2048K)
    Details in trace file c:oracleproduct10.2.0adminhy2003udumphy2003_ora_4372.trc
    KGL object name :PCDM.BIN$C8iYfZ9TS8ORv9KUD+hrSA==$0

     

    在网上查到:

    【问题处理】Memory Notification: Library Cache Object loaded into SGA
    1.问题现象
    数据库日常巡检过程中,在alert日志中发现如下警告信息
    ……省略……
    Thu Apr 15 22:06:31 2010
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 3215K exceeds notification threshold (2048K)
    KGL object name :SELECT TOWNER, TNAME, NAME, LENGTH, PRECISION, SCALE, TYPE, ISNULL,             CONNAME, COLID, INTCOLID, SEGCOLID, COMMENT$, DEFAULT$, DFLTLEN,             ENABLED, DEFER, FLAGS, COLPROP, ADTNAME, ADTOWNER, CHARSETID,             CHARSETFORM, FSPRECISION, LFPRECISION, CHARLEN, TFLAGS, TYPESYN,             COLCLASS      FROM   SYS.EXU10COE      WHERE  TOBJID = :1      ORDER  BY COLCLASS
    Thu Apr 15 22:06:55 2010
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 5118K exceeds notification threshold (2048K)
    Details in trace file /home/oracle/oracle/product/10.2.0/db_1/admin/orcl/udump/orcl_ora_18031.trc
    KGL object name :SELECT SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T', '7')), KU$.OBJ_NUM FROM SYS.KU$_FHTABLE_VIEW KU$ WHERE NOT (BITAND (KU$.PROPERTY,8192)=8192) AND  NOT BITAND(KU$.SCHEMA_OBJ.FLAGS,128)!=0 AND  KU$.SCHEMA_OBJ.NAME=:NAME1 AND  KU$.SCHEMA_OBJ.OWNER_NAME=:SCHEMA2
    Fri Apr 16 05:00:07 2010
    ……省略……

    2.问题原因
    在Oracle 10.2.0.1版本数据库中隐含参数_kgl_large_heap_warning_threshold默认值是2M,该参数控制加载到内存中对象的大小,当加载的对象大于2M时,就会在alert警告文件中进行提示。2M的默认大小相对太小,因此在10.2.0.1版本中可能很容易遇到这个报错信息。该参数默认值在10.2.0.2版本中进行了调整,调整到了50M。

    1)确认出现警告的数据库的版本是10.2.0.1
    sys@orcl> select * from v$version;
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

    2)确认隐含参数_kgl_large_heap_warning_threshold的默认大小
    sys@orcl> select a.ksppinm name,b.ksppstvl value,a.ksppdesc description
      2    from x$ksppi a,x$ksppcv b
      3   where a.indx = b.indx
      4     and a.ksppinm = '_kgl_large_heap_warning_threshold'
      5  /

    NAME                              VALUE    DESCRIPTION
    --------------------------------- -------- --------------------------------------------------------------
    _kgl_large_heap_warning_threshold  2097152  maximum heap size before KGL writes warnings to the alert log

    sys@orcl> select 2097152/1024/1024 MB from dual;

            MB
    ----------
             2

    3.问题处理方法
    既然知道了问题原因,处理起来就很简单了。如果不希望在alert文件中看到这些报错,可以适当调大隐含参数“_kgl_large_heap_warning_threshold”的值,或将其设置为“0”。
    1)将_kgl_large_heap_warning_threshold参数大小调整为50M
    sys@orcl> alter system set "_kgl_large_heap_warning_threshold"=52428800 scope=spfile;

    System altered.

    2)重启数据库

    OK,该问题到此已得到有效处理。

     

     

     

    select a.ksppinm name,b.ksppstvl value,a.ksppdesc description
    from x$ksppi a,x$ksppcv b
    where a.indx = b.indx
    and a.ksppinm = '_kgl_large_heap_warning_threshold';

     

    NAME                                                                             VALUE                      DESCRIPTION
    ----------------------- ------------------------------ -------------------------------
    _kgl_large_heap_warning_threshold       2097152       maximum heap size before KGL writes warnings to the alert log

    按介绍修改参数:
    System altered alter system set '_kgl_large_heap_warning_threshold'=8388608 scope=spfile ;

    重启数据库。

     

    NOTE:

    The default threshold in 10.2.0.1 is 2M.

    So these messages could show up frequently in some application environments.

    In 10.2.0.2,  the threshold was increased to 50MB after regression tests, so this should be a reasonable and recommended value.   If you continue to see the these warning messages in the alert log after applying 10.2.0.2 or higher, an SR may be in order to investigate if you are encountering a bug in the Shared Pool.

  • 相关阅读:
    Apache 配置 HTTPS访问
    Symfony——如何使用Assetic实现资源管理
    跟我一起学wpf(1)-布局
    wpf图片定点缩放
    Chapter 3 Shared Assemblies and Strongly Named Assemblies
    [JavaScript]父子窗口间参数传递
    [HASH]MOD运算用户哈希函数
    [Linux]返回被阻塞的信号集
    [Linux]信号集和sigprocmask信号屏蔽函数
    [Linux]不可重入函数
  • 原文地址:https://www.cnblogs.com/oracle-ziyuhou/p/6237312.html
Copyright © 2020-2023  润新知