eygle.com   eygle.com
eygle.com  
 

« PGA_AGGREGATE_TARGET参数的变更 | Blog首页 | EMC CX500再次出现硬件故障 »

Oracle9i自动PGA管理的新特性

作者:eygle |【转载时请务必以超链接形式标明文章和作者信息及本声明
链接:

Oracle9i之前,PGA的计算和控制都是比较复杂的事情,从Oracle9i开始,Oracle提供了一种SQL内存管理的新方法:自动化SQL执行内存管理(Automated SQL Execution Memory Management),使用这个新特性,Oracle可以自动调整S Q L内存区,而不用关闭数据库,这一改进大大简化了DBA的工作,同时也提高了Oracle数据库的性能。

为实现自动的PGA管理,Oracle引入了几个新的初始化参数:

1.PGA_AGGREGATE_TARGET-此参数用来指定所有session总计可以使用最大PGA内存。这个参数可以被动态的更改,取值范围从10M -- (4096G-1 )bytes。
 2。WORKAREA_SIZE_POLICY-此参数用于开关PGA内存自动管理功能,该参数有两个选项:AUTO 和 MANUAL,当设置为AUTO时,数据库使用Oracle9i提供的自动PGA管理功能,当设置为MANUAL时,则仍然使用Oracle9i前手工管理的方式。
缺省的,Oracle9i中WORKAREA_SIZE_POLICY被设置为AUTO。

需要注意的是,在Oracle9i中,PGA_AGGREGATE_TARGET参数仅对专用服务器模式下(Dedicated Server)的专属连接有效,但是对共享服务器(Shared Server)连接无效;从Oracle10g开始PGA_AGGREGATE_TARGET对专用服务器连接和共享服务器连接同时生效。

PGA_AGGREGATE_TARGET 参数同时限制全局PGA分配和私有工作区内存分配:

1.对于串行操作,单个SQL操作能够使用的PGA内存按照以下原则分配:
MIN(5% PGA_AGGREGATE_TARGET,100MB)
2.对于并行操作
30% PGA_AGGREGATE_TARGET /DOP (DOP=Degree Of Parallelism 并行度)

要理解PGA的自动调整,还需要区分可调整内存(TUNABLE MEMORY SIZE)与不可调整内存(UNTUNABLE MEMORY SIZE)。可调整内存是由SQL工作区使用的,其余部分是不可调整内存。
启用了自动PGA调整之后, Oracle仍然需要遵循以下原则:

UNTUNABLE MEMORY SIZE + TUNABLE MEMORY SIZE <= PGA_AGGREGATE_TARGET

数据库系统只能控制可调整部分的内存分配,如果可调整的部分过小,则Oracle永远也不会强制启用这个等式。

 另外,PGA_AGGREGATE_TARGET参数在CBO优化器模式下,对于SQL的执行计划会产生影响。Oracle在评估执行计划时会根据PGA_AGGREGATE_TARGET参数评估在Sort,HASH-JOIN或Bitmap操作时能够使用的最大或最小内存,从而选择最优的执行计划。

对于PGA_AGGREGATE_TARGET参数的设置,Oracle提供这样一个建议方案
1.对于OLTP系统
      PGA_AGGREGATE_TARGET  = (<Total Physical Memory > * 80%) * 20%  
2.对于DSS系统
      PGA_AGGREGATE_TARGET  = (<Total Physical Memory > * 80%) * 50%

也就是说,对于一个单纯的数据库服务器,通常我们需要保留20%的物理内存给操作系统使用,剩余80%可以分配给Oracle使用。Oracle使用的内存分为两部分SGA和PGA,那么PGA可以占用Oracle消耗总内存的20%(OLTP系统)至50%(DSS系统)。
这只是一个建议设置,更进一步的我们应该根据数据库的具体性能指标来调整和优化PGA的使用。

 

By eygle on 2006-04-08 16:38 | Comments (0) | Posted to FAQ | Edit |Pageviews:

相关文章 随机文章
  • 关于自动PGA管理的进一步探讨
  • PGA_AGGREGATE_TARGET参数的变更
  • Eygle.com 的一个里程碑
    《深入浅出Oracle》技术交流会视频下载
    Oracle的X$表系列介绍之-X$KSMSP
    CSDN英雄会上会英雄
    早岁哪知世事艰
    网上相关主题:
    Google

    Listed below are links to weblogs that reference Oracle9i自动PGA管理的新特性:

    » 关于自动PGA管理的进一步探讨 from Friends Life and Oracle
    伴随自动PGA调整新特性的引入,Oracle随之引入了一系列新的视图,V$PGASTAT就是其中的一个.在V$PGASTAT中有这样一个条目: global memory bound ,该条目记录数据库允许的最高PGA内存使用量,我们可以从不同的PGA参数设置来观察一下Oracle运行的PGA上限.SQL> alter system set pga_aggregate_target=&Nm;Enter&nb... [Read More]

    Tracked on August 13, 2006 4:49 PM

    留言 (0)

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.