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

AMM:automatic memory management自动内存管理

手动设置

total memory size for this instance

maximum memory size for this instance

数据库自动分配

total sga size

sga component sizes

instance pga size

individual pga sizes

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

1.获取PGA分配的最大值

select value/1024/1024 || ‘M‘ from v$pgastat where name=‘maximum PGA allocated‘;

2.获取memory_target

计算公式:memory_target = sga_target + max(pga_aggregate_target, maximum PGA allocated)

AMM内存调优

select * from v$memory_target_advice order by memory_size;

当MEMORY_SIZE_FACTOR为 1 时MEMORY_SIZE的值,即一般认为比较合理的MEMORY_TARGET的值。

ASMM:automatic shared memory management自动共享内存管理

手动设置

sga target size

sga maximum size

instance pga target size

数据库自动设置

sga component sizes

individual pga sizes

即设置一个SGA的目标值以及SGA的最大值,数据库来动态调整其中的各个组件,如Database buffer cache、Shared pool等等。

SGA_TARGET SGA设置目标值 初始值建议为:(total_mem * 0.7) * 0.8,后续需要定期分析系统做适应性调整
PGA_AGGREGATE_TARGET PGA设置目标值 (total_mem * 0.7) * 0.2,后续需要定期分析系统做适应性调整
SGA_MAX_SIZE SGA设置最大值 初始值建议为:(total_mem * 0.7) * 0.8,后续需要定期分析系统做适应性调整
DB_CACHE_SIZE 数据库缓存大小建议设置一个最小值,初始为SGA的50%左右,具体值需要根据物理内存大小、SGA大小而确定,后续需要定期分析系统做适应性调整
SHARED_POOL_SIZE 共享池大小 建议设置一个最小值,具体值需要根据物理内存大小、SGA大小而确定,后续需要定期分析系统做适应性调整
MEMORY_TARGET AMM管理设置内存大小 建议值0(11G及以后版本)

使用ASMM并禁用AMM

alter system set sga_target=2048M scope=spfile sid=‘*‘;

alter system set pga_aggregate_target=1024M scope=spfile sid=‘*‘;

alter system set memory_target=0 scope=spfile sid=‘*‘;

alter system set memory_max_target=0 scope=spfile sid=‘*‘;

alter system reset memory_max_target scope=spfile sid=‘*‘;

原文地址:https://www.cnblogs.com/lyywml/p/12177110.html

时间: 2024-08-14 11:55:46

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

MyEclipse相关用法介绍

MyEclipse相关用法介绍 ================================================================================ 编辑: Ctrl+Shift+L      显示所有快捷键 Ctrl+K        参照选中的词(Word)快速定位到下一个 Ctrl+Shift+K      参照选中的词(Word)快速定位到上一个 Ctrl+O         快速显示OutLine Ctrl+T        快速显示当前类的

SQL Server,MySQL,Oracle三者的区别

Oracle Oracle 能在所有主流平台上运行(包括Windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选择最适合的解决方案.对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案.如果Windows NT不能满足需要,用户可以把数据库移到UNIX中.Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度.Oracle获得最高认证级别的ISO标准认证.Oracle性能最

Js相关用法个人总结

Js相关用法个人总结  js中将数组元素添加到对象中var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<pushArr.length;i++) { obj[i] = pushArr[i]; } obj.length = pushArr.length; console.log(obj); //{0:11,1:22,2:33,3:44,4:55,5:66,length:6} 在js中为对象添加属性和方法 var obj = {

Oracle 表的创建 及相关参数

1. 创建表完整语法 CREATE TABLE [schema.]table (column datatype [, column datatype] - ) [TABLESPACE tablespace] [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [STORAGE storage-clause] [LOGGING | NOLOGGING] [CACHE | NOCACHE] ]; 说明:

Java中Date各种相关用法

Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须

oracle 集合变量以及自定义异常的用法

oracle 集合变量以及自定义异常的用法, 在过程 record_practice 有record变量和自定义异常的用法实例.具体在3284行. 1 CREATE OR REPLACE Package Pkg_Weiyl Is 2 Pkg_Name Constant Varchar2(20) := 'pkg_weiyl'; 3 Too_Young Constant Number := -20001; 4 Exc_Too_Young Exception; 5 Pragma Exception_I

oradmin相关用法

[转]oradmin相关用法 创建例程: -NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒] 编辑例程: -EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst

[转]Oracle 10g及pro*c相关问题及解决方法(转)

Oracle 10g及pro*c相关问题及解决方法 2008年08月21日 星期四 上午 11:21 最近一直在进行ORACLE 10g和PRO*C的学习. 其中遇到了不少的问题: 现列于此,已备他用. [注:我的linux版本是RHEL 5,Oracle版本是10g] 1.在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依赖 上网搜过不少文章,但是都不是很好的解决 我自己摸索出一个解决方法: 在RHEL5的安装盘中找到libXp-1.0.0-8.i386.rpm,进行安装后,

STL中的Vector相关用法

STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int>是一种数据类型. Vector的存储空间是连续的,list不是连续存储的. 1. 定义和初始化 vector< typeName > v1; //默认v1为空,故下面的赋值是错误的v1[0]=5;//v2是v1的一个副本,若v1.size()>v2.size()则赋值后v2.size()被