深入讲解Memory_target与自动内存管理

  • 来源: 天新网 作者: 若水   2008-03-25/10:34
  • Oracle内存管理上的一个重要增强,就是Oracle 11g的一个新特性:Memory_target与自动内存管理(Automatic Memory Management)

    需要大家注意的是,加入这个参数设置过高,实例启动时会出现错误提示:

    SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    Connected to an idle instance.
    SQL> startup
    ORA-00845: MEMORY_TARGET not supported on this system

    此错误提示并不是指特性不支持,而是需要你去调整内存设置。

    设置了这个参数后,自动内存则会调整启用:

    SQL> show parameter memory 
    
    NAME                          TYPE           VALUE
    --------------------- -------------      -----------     
    hi_shared_memory_address integer         0
    memory_max_target       big integer    416M
    memory_target           big integer    416M
    shared_memory_address     integer       0

    类似SGA_MAX_SIZE与SGA_TARGET一样,MEMORY_MAX_TARGET与MEMORY_TARGET成对出现,这一特性的出现使得PGA+SGA作为整体内存使用被一致的纳入自动管理范畴。

    你会发现,与Oracle10g类似,设置了自动内存管理之后,PGA_AGGREGATE_TARGET参数不再需要设置,取而代之发挥作用的参数是带有2个下划线的__PGA_AGGREGATE_TARGET参数,大家可以仔细看一下这几个参数的解释:

    SQL> select ksppinm,ksppdesc from x$ksppi
      2  where ksppinm like '%pga%';
    
    KSPPINM                       KSPPDESC
    -----------------------    ---------------
    _pga_large_extent_size   
    PGA large extent size
    _use_ism_for_pga           
    Use ISM for allocating large extents
    _kdli_sio_pga                 
    use PGA allocations for direct IO
    _kdli_sio_pga_top           
    PGA allocations come from toplevel PGA heap
    pga_aggregate_target      
    Target size for the aggregate PGA memory consumed by the instance
    __pga_aggregate_target  
    Current target size for the aggregate PGA memory consumed
    _pga_max_size              
    Maximum size of the PGA memory for one process

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多