ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle Automatic PGA Memory Management

Oracle Automatic PGA Memory Management

原创 Linux操作系统 作者:keeptrying 时间:2012-06-04 21:12:39 0 删除 编辑

理想情况下,工作区的大小足够大到能容纳其相关SQL运算符分配的输入数据和辅助内存结构,这一大小被称为工作区的最佳大小。工作区大小小于最佳大小时,响应时间就会增加,因为要对部分输入数据执行额外的传输操作。

自动PGA内存管理功能简化并改进了PGA内存的分配方式。默认情况下,PGA内存管理功能是启动的,在此模式下,Oracle数据库以SGA内存大小的20%为基准,动态调整专用于工作区的那部分PGA内存的大小。最小值为10MB

在自动PGA内存管理模式下运行时,所有会话的工作区大小的调整都是自动的。在该模式下运行的所有会话都会忽略*_AREA_SIZE参数(例如SORT_AREA_SIZE。在任何给定时间,可用于实例中各活动工作区的PGA内存总量自动从PGA_AGGREGATE_TARGET初始化参数派生。此内存量设置为PGA_AGGREGATE_TARGET值减去系统其它组件分配的PGA内存量(例如,会话分配的PGA内存)。由此得到的PGA内存随后按照各活动工作区的特定内存需求分配给相应的工作区。

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

l   PGA_AGGREGATE_TARGET:此参数用来指定所有session总计可以使用最大PGA内存。这个参数可以被动态的更改,取值范围从10M——(4096G-1bytes

l   WORKAREA_SIZE_POLICY:此参数用于开关PGA内存自动管理功能。该参数有两个选项:AUTOMANUAL,当设置为AUTO时,数据库使用Oracle9i提供的自动PGA管理功能,当设置为MANUAL时,则仍然使用Oracle9i前手工管理的方式。缺省的,Oracle9iWORKAREA_SIZE_POLICY被设置为AUTO

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

为了向后兼容,Automatic PGA Memory Management可以被关闭,通过设置PGA_AGGREGATE_TARGET参数为0.

关闭Automatic PGA Memory Management后,工作区的最大值通过以下参数来设置:

l   SORT_AREA_SIZE

l   HASH_AREA_SIZE

l   BITMAP_MERGE_AREA_SIZE

l   CREATE_BITMAP_AREA_SIZE

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

下一篇: Oracle SYSTEM_PLAN
请登录后发表评论 登录
全部评论

注册时间:2011-04-25

  • 博文量
    130
  • 访问量
    909679