Oracle Automatic PGA Memory Management

理想情况下,工作区的大小足够大到能容纳其相关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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25744374/viewspace-731886/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值