ORACLE PGA 的调整

PGA分两种管理模式:
        手动PGA内存管理:用户指定排序区和散列区所使用的内存,每个连接使用相同的内存。
        自动PGA内存管理:告诉Oracle可以使用的PGA的总量,由Oraclce根据系统负载决定具体分配。即PGA内存可以动态扩大和回收

        9iR1时默认为手动PGA内存管理,9iR2以后默认为自动PGA内存管理。

  2、PGA内存管理模式设置(参数workarea_size_policy)
        设为MANUAL,使用手动管理方式。
      设为AUTO,并且pga_aggregate_target不为0时,启用自动内存管理。

  3、PGA相关的参数 
    bitmap_merge_area_size             --&gt位图合并区分配的值
    create_bitmap_area_size            --&gt创建位图分配的值
    hash_area_size                     --&gt主要用于hash join时分配的大小
    sort_area_size                     --&gt排序所用的内存总量,影响one-pass,multi-pass,optimal
    sort_area_retained_size            --&gt排序后在内存中保存排序信息的内存总量
    这几个参数在Oracle 9i之前被使用,在Oracle 9i可以对这几个参数进行手动分配,亦可以由系统自动分配。
    当使用workarea_size_policy为AUTO且pga_aggregate_target非零值时,上述四个参数建议根据系统自动负荷自动调整
   SQL> show parameter area_size
   NAME                                 TYPE        VALUE
   ------------------------------------ ----------- ------------------------------
   bitmap_merge_area_size               integer     1048576
   create_bitmap_area_size              integer     8388608
   hash_area_size                       integer     131072
   sort_area_size                       integer     65536
   workarea_size_policy                 string      AUTO

   pga_aggregate_target
     a.决定了所有session总计可使用最大PGA内存值,该参数可动态修改。连接数少时则实际分配的PGA内存通常小于target值,当连接
       数多的时候则实际分配的PGA内存会超过target值。target值为尽可能保持的目标值。
     b.全局PGA分配以及私有工作区分配受限于该参数 
     c.该参数在9i中仅支持专有服务器模式,在10g之后既支持专有服务器模式也支持共享服务器模式
     d.pga_aggregate_target被分为可调整区和不可调整区,可调整区为SQL工作区,其余为不可调整区
     e.当少量用户连接到数据库时,则每个用户享有相对较多的PGA内存,而当大量用户连接时则每个用户分配相对较少的PGA内存。
     f.单个串行查询(非并行查询)可能包括多个排序/散列操作,每个排序/散列操作最多使用5%的PGA内存。
     h.单个并行查询最多可用到30%的PGA内存,无论有多少并行进程。


对于PGA的监控雨调整,通过 V$pgastat  v$pga_target_advice v$pga_target_advice_histogram  视图作为参考




PGA的调整命令
  系统级更改:

   ALTER SYSTEM SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};
 
   ALTER SYSTEM SET PGA_AGGREGATE_TARGET=239075328;
 
   ALTER SYSTEM SET SORT_AREA_SIZE = 65536 SCOPE = SPFILE;--&gt使用AUTO方式时该参数不起作用
 
   ALTER SYSTEM SET HASH_AREA_SIZE = 65536 SCOPE = SPFILE;--&gt使用AUTO方式时该参数不起作用

  会话级更改

   ALTER SESSION SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};
 
   ALTER SESSION SET SORT_AREA_SIZE = 65536;--&gt使用AUTO方式时该参数不起作用
 
   ALTER SESSION SET HASH_AREA_SIZE = 65536;--&gt使用AUTO方式时该参数不起作用  


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

转载于:http://blog.itpub.net/29638498/viewspace-1226299/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值