自动内存管理AMM

自动内存管理(Automatic Memory Management)是11G中推出的新功能,10G中只有自动SGA管理。启用了AMM只需设置内存的大小,就可以自动的在SGA和PGA之间分配内存,省去了管理设置SGA和PGA的麻烦。

AMM的相关参数:

MEMORY_TARGET:SGA和PGA可以使用的内存的总的大小,可以动态的设置,最大值不超过MEMORY_MAX_TARGET。

MEMORY_MAX_TARGET:可以使用的内存的最大值,这个是静态参数,要修改必须重启数据库。

SGA_TARGET:SGA目标内存大小,启用AMM后,这个参数应该设为0.

PGA_AGGREGATE_TARGET:PGA目标内存大小,启用AMM后,应该设为0.

 

开启AMM:

要想开启AMM,只需要设置MEMORY_TARGET,同时设置SGA_TARGET和PGA_AGGREGATE_TARGET都为0。如果没有设置MEMORY_MAX_TARGET,在启动后MEMORY_MAX_TARGET自动设置为MEMORY_TARGET大小。这样就可以自动的在SGA和PGA之间分配内存。

可以动态的修改MEMORY_TARGET大小,只要MEMORY_TARGET<=MEMORY_MAX_TARGET即可。

 

例外的情况:

1.设置了MEMORY_TARGET,又设置了SGA_TARGET和PGA_AGGREGATE_TARGET

此时SGA_TARGET+ PGA_AGGREGATE_TARGET要<=MEMORY_TARGET。

SGA_TARGET和PGA_AGGREGATE_TARGET分别为SGA的PGA大小的下限。

如MEMORY_TARGET=1G,SGA_TARGET=500M,PGA_AGGREGATE_TARGET=300M,则SGA下限为500M,PGA下限为300M,以此为根据在SGA和PGA之间分配内存。

 

2.如果没设置MEMORY_TARGET,设置了SGA_TARGET和PGA_AGGREGATE_TARGET

这时开启了自动共享内存管理(SGA自动管理),SGA内各个组件之间自动的分配内存

 

3.如果啥都没有设置,也是可以启动的,按照默认的情况,把内存的40%分给ORACLE,然后把60%分给SGA,把40%分给PGA。

 

 

如果内存充足,建议开启AMM,省去了很多工作。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值