Oracle 自动内存管理

Oracle 11g引入了AMM(Automatic Memory Management),实现SGA+PGA的自动管理。通过设置`MEMORY_TARGET`和`MEMORY_MAX_TARGET`,DBA可以简化内存管理。文章讨论了如何设置这两个参数,以及在Linux环境下如何避免ORA-04030错误。当`sga_max_size`大于0时,可能导致Oracle多申请内存,造成浪费。
摘要由CSDN通过智能技术生成

 

AMM是Automatic Memory Management的缩写,表示自动内存管理。
从Oracle 9i通过PGA_AGGREGATE_TARGET参数实现PGA自动管理开始,
Oracle 10g通过SGA_TARGET和SGA_MAX_SIZE参数实现了SGA的自动管理,
Oracle 11g更是惊人地实现了数据库所有内存块的全自动化管理(Automatic Memory Management,AMM),实现SGA+PGA自动管理。
如果DBA 真的想偷懒的话,只需要设定两个参数就可以把烦心的事情都交给 Oracle自行处理,PGA 与 SGA 一起搞定,这两个参数分别是:MEMORY_TARGET和MEMORY_MAX_TARGET

 memory_max_target表示可用的最大内存值(动态参数)
 memory_target表示在memory_max_target的范围内,有多少内存是可用于动态分配的,它应小于等于memory_max_target的值,静态参数,如果没有设置MEMORY_MAX_TARGET值,默认等于MEMORY_TARGET的值。

设置方法如下:
SQL> alter system set memory_max_target=3200M scope=spfile;
SQL> alter system set memory_target=3200M scope=spfile;
SQL> shutdown immediate;
SQL> startup;
其他内存参数如pga_aggregate_target、sga_max_size等,在自动内存管理的情况下是不需要设置的,等于0即可,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值