ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle的自动内存管理

oracle的自动内存管理

原创 Linux操作系统 作者:db_wjw 时间:2011-10-13 18:27:21 0 删除 编辑
    Oracle从9i开始引入了pga自动内存管理,从10g引入了sga自动内存管理(automatic shared memory management,ASSM),从11g引入了自动内存管理(automatic memory management,AMM)。

1、要启动pga自动内存管理,需要使用两个参数:
    workarea_size_policy=auto(默认值)
    pga_aggregate_target=**
2、在使用SGA自动管理时,实例将监视各个SGA组件的内存需求,并根据需要将内存分配给组件。一般规则是,分配给大池、java池、流池的内存不可转让,分配给共享池、数据库缓冲区缓存的内存是可以转让的,而日志缓冲区(log_buffer)的大小在启动时就固定下来,无法进行自动管理。
    手动管理SGA的参数有
    shared_pool_size
    db_cache_size
    large_pool_size
    java_pool_size
    streams_pool_size
    要启用SGA自动管理,需要保留以上参数的默认值(或者将其设置为0),并设置一个参数
    sga_target
    如果设置了任何手动设置的参数,则给定的值将作为最小大小(ASSM不会使组件的大小低于此值),日志缓冲区包含在sga_target中。
3、自动内存管理可以根据需要再SGA和PGA之间转换内存,要启用自动内存管理,需要设置两个参数:
    memory_target
    memory_max_target(为静态参数,调整后需要重启实例)
    如果启用了自动内存管理,又设置了pga_aggregate_target或sga_target,则指定的值将是最小大小

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26194851/viewspace-709116/ ,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2011-08-21

  • 博文量
    96
  • 访问量
    506459