zoukankan      html  css  js  c++  java
  • Oracle Internal Event:10235 Heap Checking诊断事件

    10235 (check memory manager internal structures) event内部诊断事件,当oracle SGA内存堆heap 管理操作发生错误时会触发该检测事件(For the sga heap, the internal error is signaled only when heap checking (event 10235) is enabled),其级别列表如下:  
    [oracle@nas ~]$ oerr ora 10235
    10235, 00000, "check memory manager internal structures"
    // *Cause:
    // *Action:
    
    List of Levels for Event 10235
    Level 1: Check heap before heap is freed.
    Level 2: Level 1 + fill allocation and frees with 0xff.
    Level 3: level 2 + checks to make sure chunk belongs to heap prior to operation (free, grow, make chunk as
    freeable with mark). Scan of extents, could get expensive
    Level 4: level 3 + allocates permanent chunks as freeable chunks. This accomplishes two things:
    all permanent allocations are in their own chunks and the comments for the permanent chunks appear in a heap dump.
    The following levels should be OR'ed in together. For example, in order to use levels 2, 8 and 16,
    event 10235 needs to be set to level 26.
    Level 8: Check heap on every operation to the heap.
    Level 16: Level 8 + check top PGA heap and SGA heap.
    Level 32: Level 16 + check all heaps in the top pga heap, recursively; check SGA heap.
    Level 64: Level 32 + check SGA heap if started up in single_process=true.
    Level 256: align chunks at the bottom of a page and page protect the page that follows the chunk,
    to catch writes off the end of a chunk, for all heaps.
    Level 512: Like level 256, except for all heaps in the pga heap; so this event is useful for detecting
    corruption in the pga heap and pga subheaps. This can also be enabled on specific heaps or chunks with
    specific comments.
    Level 65536: Enable CPM(Commented PerManent chunk) Keep comment for permanent allocation. It's useful for
    detecting memory growth/overrun in permanent space. If you need to investigate the allocations for "library cache",
    The combination of event 10049 level 10100 and this event will help to have more descriptive information.
      注意只有当 怀疑oracle实例存在内存讹误(memory corruption)或者深入研究KGH堆管理内部原理的时候才有必要使用该10235事件,不要在生产库设置该诊断事件!! 不推荐在session会话级别设置该event 可能引起问题,具体的设置方法如下:  
    alter system set event=' 10235 trace name context forever,level 512 ' scope=spfile;
    restart instance;
        实际上绝大多数情况下我们不会用到10235 event, 即便是提交有关内存泄露(memory leak)或者内存讹误(memory corruption)的SR后 oracle Support 要求你上传一些heapdump的trace信息, 直接做heapdump转储也已经足够了, 具体用法如下:    
    alter session set event 'trace name immediate heapdump level <n>';
    
    level 级别列表如下:
    
     1:          pga heap,  1025:            pga heap w/ contents
     2:          sga heap,  2050:            sga heap w/ contents
     4:          uga heap,  5000:            uga heap w/ contents
     8:          current call heap,  8200: current call heap w/ contents
    16:         user call heap, 16400:     user call heap w/ contents
    32:         large alloc heap, 32800:  large alloc heap w/ contents
    
    若希望dump转储某个特定的subheap ,则先要知道该heap descriptor 的address地址
    
    alter session set event 'trace name immediate headump_addr level <addr>';
  • 相关阅读:
    python环境的安装 环境变量和系统变量
    git语句(后续补充)
    pycharm的安装配置及思维导图
    python基础知识 01
    C#基础系列——异步编程初探:async和await
    Type.MakeGenericType 方法 (Type[]) 泛型反射
    ZeroFormatter
    intelliJ IDEA相关
    truesky天气系统
    tressfx hair
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2968235.html
Copyright © 2011-2022 走看看