oracle AMM、ASMM区别以及相关用法

本文介绍Oracle数据库中自动内存管理(AMM)和自动共享内存管理(ASMM)的概念及配置步骤。AMM简化了内存管理,通过设置memory_target参数实现SGA和PGA的自动调整;ASMM则专注于SGA的自动管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 一、相关概念解析

AMM:automatic memory management(11.1才有的特性) 即让数据库完全管理SGA、PGA的大小,而对于管理员只需要设置一个总的大小(memory_target),数据库会动态的调整SGA、PGA的大小以及其中包含的各个组件大小,如Database buffer cache、Shared pool等等。

ASMM:automatic shared memory management,即让设置一个SGA的目标值以及SGA的最大值,数据库来动态调整其中的各个组件,如Database buffer cache、Shared pool等等。
AMM只需要设置一个memory_target,其中SGA、PGA数据库会根据运行的具体情况来调整这些大小,这样有一个好处即管理方便,经验不充足的人建议就设置AMM让数据库来管理各个内存空间大小的分配。   ASMM则是设置SGA_TARGET,让数据库来管理SGA中各个组件的大小。

PGA oracle强烈建议使用自动管理,在oracle 10g之前的版本,通过设置SORT_AREA_SIZE, HASH_AREA_SIZE, BITMAP_MERGE_AREA_SIZE 、 CREATE_BITMAP_AREA_SIZE这些参数达到手动控制的目的。   不过设置这些参数过于复杂,在此不做讨论。一般只需要设置PGA_AGGREGATE_TARGET参数即可达到自动管理的目的。
下图也比较详细的概括出了AMM、ASMM以及手动管理SGA的几种情况的区别,注意这几种方式PGA都是自动管理的。

  • 二、启用AMM
这里只描述一下用命令启用的过程,em操作不进行演示
1、启用sqlplus 以sysdba身份连接数据库,查看相关SGA_TARGET、PGA_AGGREGATE_TARGET的大小

[oracle@oracle11g ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 22 15:59:37 2014
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
SQL> show parameter target
NAME   &nb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值