zoukankan      html  css  js  c++  java
  • Oracle Heap size XXK exceeds notification threshold (2048K) 解决方法

    数据库版本是10.2.0.1,使用EXPDP 导数据的时候,alert log 出现如下信息:

    Wed Oct 26 12:14:02 2011

    The value (30) of MAXTRANS parameterignored.

    kupprdp: master process DM00 started withpid=73, OS id=4731

            to execute - SYS.KUPM$MCP.MAIN('SYS_EXPORT_SCHEMA_01', 'SYS','KUPC$C_1_20111026121403', 'KUPC$S_1_20111026121403', 0);

    kupprdp: worker process DW01 started withworker id=1, pid=77, OS id=4774

            to execute - SYS.KUPW$WORKER.MAIN('SYS_EXPORT_SCHEMA_01', 'SYS');

    Wed Oct 26 12:14:42 2011

    Memory Notification:Library Cache Object loaded into SGA

    Heap size 5525K exceedsnotification threshold (2048K)

    KGL object name :SELECT /*+rule*/SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T', '7')), KU$.OBJ_NUM,KU$.ANC_OBJ.NAME ,KU$.ANC_OBJ.OWNER_NAME ,KU$.ANC_OBJ.TYPE_NAME,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,KU$.BASE_OBJ.TYPE_NAME ,KU$.SPARE1,KU$.XMLSCHEMACOLS ,KU$.SCHEMA_OBJ.NAME ,KU$.SCHEMA_OBJ.NAME ,'TABLE',KU$.PROPERTY ,KU$.SCHEMA_OBJ.OWNER_NAME ,KU$.TS_NAME ,KU$.TRIGFLAG FROMSYS.KU$_FHTABLE_VIEW KU$ WHERE NOT (BITAND (KU$.PROPERTY,8192)=8192) AND  NOT BITAND(KU$.SCHEMA_OBJ.FLAGS,128)!=0AND   KU$.OBJ_NU

    Trace 文件内容:

    [xezf@localhost bdump]$ cat/home/oracle_app/admin/XEZF/bdump/xezf_dw01_4774.trc

    /home/oracle_app/admin/XEZF/bdump/xezf_dw01_4774.trc

    Oracle Database 10g Enterprise EditionRelease 10.2.0.1.0 - Production

    With the Partitioning, OLAP and Data Miningoptions

    ORACLE_HOME = /home/oracle_app

    System name:    Linux

    Node name:      localhost.localdomain

    Release:        2.6.18-8.el5

    Version:        #1 SMP Thu Mar 15 19:57:35 EDT 2007

    Machine:        i686

    Instance name: XEZF

    Redo thread mounted by this instance: 1

    Oracle process number: 77

    Unix process pid: 4774, image:oracle@localhost.localdomain (DW01)

    *** 2011-10-26 12:14:42.557

    *** ACTION NAME:(SYS_EXPORT_SCHEMA_01)2011-10-26 12:14:42.529

    *** MODULE NAME:(Data Pump Worker)2011-10-26 12:14:42.529

    *** SERVICE NAME:(SYS$USERS) 2011-10-2612:14:42.529

    *** SESSION ID:(106.8016) 2011-10-2612:14:42.529

    Memory Notification: Library Cache Objectloaded into SGA

    Heap size 5525K exceeds notificationthreshold (2048K)

    LIBRARY OBJECT HANDLE: handle=902ccc68mutex=0x902ccd1c(0)

    name=

    SELECT /*+rule*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T','7')), KU$.OBJ_NUM ,KU$.ANC_OBJ.NAME ,KU$.ANC_OBJ.OWNER_NAME,KU$.ANC_OBJ.TYPE_NAME ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME,KU$.BASE_OBJ.TYPE_NAME ,KU$.SPARE1 ,KU$.XMLSCHEMACOLS ,KU$.SCHEMA_OBJ.NAME,KU$.SCHEMA_OBJ.NAME ,'TABLE' ,KU$.PROPERTY ,KU$.SCHEMA_OBJ.OWNER_NAME,KU$.TS_NAME ,KU$.TRIGFLAG FROM SYS.KU$_FHTABLE_VIEW KU$ WHERE NOT (BITAND(KU$.PROPERTY,8192)=8192) AND  NOTBITAND(KU$.SCHEMA_OBJ.FLAGS,128)!=0 AND  KU$.OBJ_NU

    hash=cee7e1d7e94b0fa1690a65161375b4d6 timestamp=10-26-201112:14:37

    namespace=CRSRflags=RON/KGHP/TIM/KEP/PN0/DBN/[10010044]

    kkkk-dddd-llll=0001-0001-0001 lock=N pin=0latch#=5 hpc=0002 hlc=0002

    lwt=0x902cccc4[0x902cccc4,0x902cccc4]ltm=0x902ccccc[0x902ccccc,0x902ccccc]

    pwt=0x902ccca8[0x902ccca8,0x902ccca8]ptm=0x902cccb0[0x902cccb0,0x902cccb0]

    ref=0x902ccce4[0x902ccce4,0x902ccce4]lnd=0x902cccf0[0x962477a4,0x9681c18c]

     LIBRARY OBJECT: object=9487dd60

     type=CRSR flags=EXS[0001] pflags=[0000] status=VALD load=0

     CHILDREN: size=16

     child#    table reference   handle

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

          0 9414ed1c  9414e9d0 90566b6c

     DATA BLOCKS:

     data#     heap  pointer   status pins change whr alloc(K) size(K)

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

          0 9d323b60 9487ddf8 I/P/A/-/-    0 NONE  00      0.67     1.05

    LIBRARY OBJECT HANDLE: handle=90566b6cmutex=0x90566c20(0)

    namespace=CRSRflags=RON/KGHP/PN0/[10010000]

    kkkk-dddd-llll=0000-0001-0000 lock=N pin=Xlatch#=5 hpc=0002 hlc=0002

    lwt=0x90566bc8[0x90566bc8,0x90566bc8]ltm=0x90566bd0[0x90566bd0,0x90566bd0]

    pwt=0x90566bac[0x90566bac,0x90566bac]ptm=0x90566bb4[0x90566bb4,0x90566bb4]

    ref=0x90566be8[0x9414e9d0,0x9414e9d0]lnd=0x90566bf4[0x90566bf4,0x90566bf4]

     LIBRARY OBJECT: object=94fc1c00

     type=CRSR flags=EXS[0001] pflags=NST[0001] status=VALD load=0

     DEPENDENCIES: count=101 size=112

     dependency#    tablereference   handle position flags

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

               0 94fc1f70  9a943858 902ccb10      386 DEP[01]

               1 94fc1f70  9a94388c 9dadaffc      229 DEP[01]

               2 94fc1f70  9a9438c0 9dae1bac       80 DEP[01]

     ....

    Oracle MOS 上[ID330239.1] 对此问题有说明:

    Memory Notification: Library Cache Object Loaded Into Sga [ID 330239.1]

    导致这个提示的原因:

    These are warning messages that should not cause the program responsible for these errorsto fail.  They appear as a result of new event messaging mechanism andmemory manager in 10g Release 2.

    The meaning is that the process is just spending a lot oftime in finding free memory extents during an allocate as the memory may beheavily fragmented.  Fragmentation in memory isimpossible to eliminate completely, however, continued messages of largeallocations in memory indicate there are tuning opportunities on the application.  

    The messages donot imply that an ORA-4031 is about to happen. 

    --这个提示意味着在内存中有严重的碎片时,进程需要用更多的时间来查找空余的内存。

    解决方法:

    In 10g we have anew undocumented parameter that sets the KGL heap size warningthreshold.   This parameter was not present in 10gR1.  Warningsare written if heap size exceeds this threshold.
       

    Set _kgl_large_heap_warning_threshold  to a reasonable high value or zero toprevent these warning messages. Value needs to be set in bytes. 



    If you want to set this to 8192 (8192 * 1024) and are using an spfile: 

    (logged in as "/ as sysdba")

    SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ; 


    SQL> shutdown immediate 

    SQL> startup 


    If using an "old-style" init parameter, 

    Edit the init parameter file and add 
    _kgl_large_heap_warning_threshold=8388608

    NOTE: 

    The default threshold in 10.2.0.1 is 2M.   So these messages could show up frequently in some applicationenvironments.

    In 10.2.0.2,  the threshold was increased to 50MB after regression tests, so this should be a reasonable andrecommended value. 

    我执行expdp的库是10.2.0.1的版本,所以正好和上面的说明一致。 解决方法一是修改参数参数,而是升级数据库版本。

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

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Blog:     http://blog.csdn.net/tianlesoftware

    Weibo: http://weibo.com/tianlesoftware

    Email:   tianlesoftware@gmail.com

    Skype: tianlesoftware

    -------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群:83829929(满) DBA5群: 142216823(满) 

    DBA6 群:158654907(满)   DBA7 群:69087192(满)  DBA8 群:172855474

    DBA 超级群2:151508914  DBA9群:102954821     聊天 群:40132017(满)

  • 相关阅读:
    日志框架之Slf4j整合Logback
    使用SLF4J和Logback
    Java日志框架SLF4J和log4j以及logback的联系和区别
    docker部署apollo
    mysql8.0设置忽略大小写后无法启动
    将项目迁移到kubernetes平台是怎样实现的
    kubectl port-forward
    linux服务器安全配置最详解
    CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
    统计linux 下当前socket 的fd数量
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609503.html
Copyright © 2011-2022 走看看