当前位置:  数据库>oracle

Oracle 11g自动内存管理(AMM)相关的初始化参数

    来源: 互联网  发布时间:2017-06-18

    本文导语: Oracle对内存的管理越来越趋向智能化、自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Management(ASMM)实现SGA的自动管理,到11g通过Automatic Memory Management(AMM)实现内存(SGA+PGA)的自动管理。...

Oracle对内存的管理越来越趋向智能化、自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Management(ASMM)实现SGA的自动管理,到11g通过Automatic Memory Management(AMM)实现内存(SGA+PGA)的自动管理。由于11G(AMM)的引入,DBA只需要设置一个或两个参数就可以实现ORACLE对整个内存块的自动管理。memory_max_target参数指定了ORACLE可以分配的最大内存大小,如果不指定memory_target参数,默认为0,即和memory_max_target同样大小。

默认情况下,Oracle 11g是使用AMM的。我们在安装过程中,指定Oracle使用内存的百分比,这个取值就作为MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果这两个参数设置为非零取值,那么Oracle就是采用AMM管理策略的。同时,如果我们设置这两个参数为0,则AMM自动关闭。对应的SGA_TARGET、PGA_AGGREGATE_TARGET参数取值非零之后,Oracle自动退化使用ASMM特性。

下面介绍一下4个相关的初始化参数。 

SGA_MAX_SIZE 

属性

描述

参数类型

Big integer

语法

SGA_MAX_SIZE = integer [K | M | G]

默认值

数据库启动时SGA的初始化大小,取决于SGA中不同池的大小,例如缓冲区,共享池,大池,等等。

是否可修改

取值范围

0~视操作系统而定

SGA_MAX_SIZE指定了实例生命周期内SGA的最大值。

在64位平台或者非32位Windows平台,当MEMORY_TARGET或MEMORY_MAX_TARGET被设定时,SGA_MAX_SIZE会被设置为二者的较大值。这样将会预留更多的地址空间用于扩大SGA。

在32位Windows平台,SGA_MAX_SIZE的默认值是下面几个参数值的最大值:

l  60%*MEMORY_TARGET(如果指定的话)

l  60%*MEMORY_MAX_TARGET (如果指定的话)

l  25%*总的可用虚拟地址空间 

SGA_TARGET 

属性

描述

参数类型

Big integer

语法

SGA_TARGET = integer [K | M | G]

默认值

0(SGA自动调整功能在DEFERRED模式调整请求下被禁用,但是在IMMEDIATE模式调整请求下是允许的)

是否可修改

ALTER SYSTEM

取值范围

64M~视操作系统而定

是否基本参数

SGA_TARGET制定了SGA各个组件的总大小。如果SGA_TARGET被指定,那么下面所列出的内存池大小将被自动分配:

l  Buffer cache (DB_CACHE_SIZE)

l  Shared pool (SHARED_POOL_SIZE)

l  Large pool (LARGE_POOL_SIZE)

l  Java pool (JAVA_POOL_SIZE)

l  Streams pool (STREAMS_POOL_SIZE)

如果上述自动调整的内存池被设置为非零值,那么这些值将被自动共享内存管理系统(ASMM, Automatic Shared Memory Management)视为最小值。如果一个应用组件正常运行要求一个最小数值的内存,那么你就需要设定最小值。

下述内存池需要手工设置大小,不受自动共享内存管理系统(ASMM, Automatic Shared Memory Management)的影响:

l  Log buffer

l  Other buffer caches, such as KEEP, RECYCLE, and other block sizes

l  Fixed SGA and other internal allocations

当自动共享内存管理系统在计算自动调整内存池的具体大小时,会将上述内存池内存从总的可用SGA_TARGET中扣除。

在“默认值”字段中,IMMEDIATE模式自动调整要求是必要的,这样可以避免ORA-04031错误。DEFERRED和IMMEDIATE模式的具体值,可以通过V$MEMORY_RESIZE_OPS视图的OPER_MODE列来查看。 

MEMORY_MAX_TARGET 

属性

描述

参数类型

Big integer

语法

MEMORY _MAX_TARGET = integer [K | M | G]

默认值

0

是否可修改

NO

取值范围

0~Oracle数据库可用物理内存大小

是否基本参数

MEMORY_MAX_TARGET指定了一个DBA可以设置MEMORY_TARGET初始化参数的最大值。请参见MEMORY_TARGET的有关描述,获取更多有关MEMORY_MAX_TARGET和MEMORY_TARGET的设置是如何相互影响的信息。 

MEMORY_TARGET 

属性

描述

参数类型

Big integer

语法

MEMORY _TARGET = integer [K | M | G]

默认值

0(SGA自动调整功能在DEFERRED模式调整请求下被禁用,但是在IMMEDIATE模式调整请求下是允许的)

是否可修改

ALTER SYSTEM

取值范围

152M~视操作系统而定

是否基本参数

MEMORY_TARGET指定Oracle系统范围的可用内存。数据库将内存大小调整为MEMORY_TARGET的值,根据需要减少或扩大SGA和PGA。

MEMORY_TARGET应该设置大于或等于当前SGA和PGA大小的总和。

在文本初始化参数文件中,如果省略MEMORY_MAX_TARGET并包括一个MEMORY_TARGET值,则数据库会自动将MEMORY_MAX_TARGET的值设置为MEMORY_TARGET的值。如果省略MEMORY_TARGET并包括MEMORY_MAX_TARGET,则MEMORY_TARGET参数默认值为零。在数据库启动后,你可以动态地修改MEMORY_TARGET为非零值,只要它不超过MEMORY_MAX_TARGET的值。

总的内存使用量可以超过MEMORY_TARGET的值。例如,只要在操作系统级别上有可用内存,无论MEMORY_TARGET的值是多少,都可以将内存分配给PL / SQL表和可变数组。

在“默认值”字段中,IMMEDIATE模式自动调整要求是必要的,这样可以避免ORA-04031错误。DEFERRED和IMMEDIATE模式的具体值,可以通过V$MEMORY_RESIZE_OPS视图的OPER_MODE列来查看。


    
 
 

您可能感兴趣的文章:

  • RedHat AS 4 安装oracle9i的时候,执行Disk1下的runInstaller后提示正在初始化虚拟机,请等待后就再无反应
  • PHP连接Oracle错误ORA-24324服务句柄未初始化的解决方法
  • Oracle Siebel Option Pack for IE ActiveX控件内存初始化漏洞
  • oracle初始化参数设置
  • Oracle数据库中系统初始化参数分析
  • Oracle 监听内存泄露问题
  • fedora10安装oracle11g提示物理内存不足怎么办?
  • 通过进程id号知道一个Oracle会话所占用的内存
  • ■帮一个朋友维护网站,oracle运行半小时就自动锁死,用top发现是其狂吃内存,直到吃完为止。怎么办啊
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • 我准备装linux 7.3,大家能给点意见吗,我1GB的内存,那么交换区设多大? oracle9i能在7.3上通过吗?
  • Oracle安装过程中物理内存检查及临时temp空间不足问题解决
  • 读一个10M的txt文件到Oracle数据库中,用C实现,请问有什么好的方法吗?即不怎么占内存,又不怎么占Cpu!
  • 甲骨文宣布推出Oracle内存数据库11g
  • Oracle内存数据库11g和高速缓存11g上市
  • Oracle专用服务器的内存结构分布原则
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入解析Oracle参数及参数文件
  • Oracle数据库访问参数文件的顺序
  • Oracle 监听内存泄露问题 iis7站长之家
  • Oracle中serveroutput参数一次设置永久保存方法
  • Oracle的spfile参数文件
  • Linux Oracle RAC内核参数
  • 怎么在java中向一个sql语句传参数,就像oracle的proc一样啊?
  • Sun Solaris运行Oracle数据库所需的内核参数
  • Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
  • Oracle Streams存储过程中的一些参数
  • 快速修复Oracle参数文件的另类方法
  • jps连接oracle9i数据库出现内部参数错
  • oracle 参数文件audit_trail的认识
  • 在linux下安装oracle时,使用sysctl检查系统参数时出现许多error信息,不知道怎么回事,望高手指点!
  • 每日Oracle:配置日志模式的相关参数log_archive_des
  • Oracle 子程序参数模式,IN,OUT,NOCOPY
  • Oracle 使用set修改数据库运行参数
  • oracle impdp network_link参数使用介绍
  • Oracle 启动例程 STARTUP参数说明
  • Oracle表的分类以及相关参数的详解
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3