热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

Oracle对内存的管理越来越趋向智能化、自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过AutomaticSharedM

Oracle对内存的管理越来越趋向智能化、自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared M

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]

默认值

是否可修改

取值范围

0~视操作系统而定

SGA_TARGET

属性

描述

参数类型

Big integer

语法

SGA_TARGET = integer [K | M | G]

默认值

是否可修改

ALTER SYSTEM

取值范围

64M~视操作系统而定

是否基本参数

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)

l Log buffer

l Fixed SGA and other internal allocations

MEMORY_MAX_TARGET

属性

描述

参数类型

Big integer

语法

MEMORY _MAX_TARGET = integer [K | M | G]

默认值

0

是否可修改

NO

取值范围

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

是否基本参数

MEMORY_TARGET

属性

描述

参数类型

Big integer

语法

MEMORY _TARGET = integer [K | M | G]

默认值

是否可修改

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列来查看。

本文永久更新链接地址

推荐阅读
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 提升工作效率:掌握15个键盘快捷键
    在日常工作中,熟练掌握计算机操作技巧能够显著提升工作效率。本文将介绍15个常用的键盘快捷键,帮助用户更加高效地完成工作任务。 ... [详细]
  • PGXC中的两阶段提交机制及其对事务一致性的保障
    PGXC作为一款基于PostgreSQL的分布式数据库系统,利用Sharding技术将数据分散存储于多个数据库实例中。本文探讨了PGXC的两阶段提交过程及其实现事务强一致性的方法。 ... [详细]
  • 本文提供了一个使用C语言实现的顺序表区间元素删除功能的完整代码示例。该程序首先初始化一个顺序表,然后根据用户输入的数据进行插入操作,最后根据指定的区间范围删除相应的元素,并输出最终的顺序表。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • mysql数据库json类型数据,sql server json数据类型
    mysql数据库json类型数据,sql server json数据类型 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • spring(22)JdbcTemplate
    2019独角兽企业重金招聘Python工程师标准###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、con ... [详细]
  • 本文详细介绍了 `org.apache.hadoop.hdfs.server.namenode.FSNamesystem.shouldUseDelegationTokens()` 方法的用途和实际应用场景,并提供了多个代码示例以帮助开发者更好地理解和使用该方法。 ... [详细]
author-avatar
Dewey
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有