(一)ASMM和AMM

在Oracle 10g时,Orale推出ASMM(Automatic Shared Memory Managed),实现了SGA和PGA各自内部的自调节。在Oracle 11g,又推出了AMM(Automatic Memory managed),实现了SGA和PGA的统筹管理。
在Linux平台中,还是比较建议使用ASMM,因为Linux启用hugepage特性需要使用ASMM,而不能使用AMM。见
https://docs.oracle.com/cd/E11882_01/server.112/e10839/appi_vlm.htm#UNXAR391
因此,需要将ASMM调整为AMM,需要调整的参数有:
1.删除memory_max_target、memory_target
2.将sga_max_size、sga_target、pga_aggregate_target设置为非0值,其中sga_target要小于或等于sga_max_size。

(二)一次将AMM转换为ASMM的记录

初始参数:

在修改参数之前,要备份spfile为pfile(建议在修改Oracle的参数时,均要备份spfile)

SQL> create pfile='/home/oracle/orcl_20180502.pfile' from spfile;

改参数:

SQL> alter system set memory_max_target=0 scope=spfile;
SQL> alter system set memory_target=0 scope =spfile;
SQL> alter system set sga_max_size=700M scope=spfile;
SQL> alter system set sga_target=700M scope=spfile;
SQL> alter system set pga_aggregate_target=100M scope=spfile;

改完参数,再次对spfile进行备份,为什么要备份,且看后面

SQL> create pfile='/home/oracle/20180502_orcl.pfile.bak' from spfile;

重启数据库,使修改的参数生效:

发现数据库无法重启,提示SGA_TARGET的值应该小于MEMORY_MAX_TARGET。很明显,在修改了之后,sga_target=700M,而memory_max_target=0。这个问题的原因是Oracle启动过程中对于参数的内部检查。因为MEMORY_MAX_TARGET被“显式”的赋值,与SGA_TARGET赋值相冲突。

解决办法是,将备份的pfile文件中的memory_max_target和memory_target删除。

[oracle@redhat6 ~]$ vim 20180502_orcl.pfile.bak

删除黄色的2行。

然后使用pfile启动数据库

再利用pfile重建spfile

检查参数:

修改成功,至此 AMM转换为ASMM成功。

Oracle内存管理方式由amm切换为asmm的更多相关文章

  1. 这篇关于Oracle内存管理方式的介绍太棒了!我必须要转发,很全面。哈哈~

    "Oracle内存管理可分为两大类,自动内存管理和手动内存管理.其中手动内存管理又可分为自动共享内存管理,手动共享内存管理,自动PGA内存管理以及手动PGA内存管理.本文会简单的介绍不同的内 ...

  2. Oracle内存管理技术

    1.Oracle内存管理技术 2.配置自动内存管理(AMM) 3.监视自动内存管理(AMM) 4.配置自动共享内存管理(ASMM) 5.配置自动PGA内存管理 Reference 1.Oracle内存 ...

  3. glusterfs 内存管理方式

    glusterfs中的内存管理方式: 首先来看看glusterfs的内存管理结构吧: struct mem_pool { struct list_head list; int hot_count; i ...

  4. 24小时学通Linux内核之内存管理方式

    昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步.今天将会讲诉Linux如何追踪和管理用户空间进程的可用内 ...

  5. windows内存管理方式以及优缺点

    Windows内存管理方式:页式管理,段式管理,段页式管理 页式管理 将各进程的虚拟空间(逻辑地址)划分为若干个长度相等的页,业内管理把内存空间(物理内存)按照页的大小划分为片或者页面,从而实现了离散 ...

  6. 十天学Linux内核之第三天---内存管理方式

    原文:十天学Linux内核之第三天---内存管理方式 昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步.今 ...

  7. ObjC如何通过runtime修改Ivar的内存管理方式

    ObjC如何通过runtime修改Ivar的内存管理方式 为什么要这么做? 在iOS 9之前,UITableView(或者更确切的说是 UIScrollView)有一个众所周知的问题: propert ...

  8. ORACLE内存管理之ASMM AMM

    ORACLE ASMM ORACLE AMM ASMM转换至AMM AMM转换至ASMM

  9. (笔记)Linux内核学习(九)之内核内存管理方式

    一 页 内核把物理页作为内存管理的基本单位:内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理.MMU以页大小为单位来管理系统中的也表. 32位系统:页大小4KB 64位系统:页 ...

随机推荐

  1. 使用create-react-app遇到问题解决方案汇总

    使用create-react-app时遇到Module not found问题 转 https://blog.csdn.net/wkq_1212/article/details/90291558 本来 ...

  2. JSON序列化和反序列化 对decmail 取值问题

    地图API返回经纬度:经度: 纬度: lng":114.03483089395202,"lat":22.615589046911805 decmail 接收数据后两位会截 ...

  3. python初级(302) 2 easygui简单使用

    一.复习之前的两个练习,巩固计数循环和条件循环 1.系统生成一个随机数1到5,然后让用户的猜测,若猜对了,提示恭喜你,猜对了,否则提示,对不起,你猜错了(提示,1到5的随机数为:secret = ra ...

  4. linux查找文件利器

    查找文件 比如:找nginx.conf配置文件 locate nginx.conf /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx ...

  5. Oracle表存在则删除后再重建

    简单的执行方式: drop table USERINFO; create table USERINFO ( EnglishName ), ChineseName ), Sex ), Age int, ...

  6. [LeetCode] 113. Path Sum II 路径和 II

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  7. java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式)

    java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式) * TCP* 特点:面向连接,点对点的通信,效率较低,但安全可靠* UDP:用户数据报协议,类似 ...

  8. Mysql中TO_DAYS函数

    原文地址:https://blog.csdn.net/sinat_19569023/article/details/50417273 SQL博大精深 TO_DAYS函数 返回一个天数! 啊哈?什么天数 ...

  9. spring security实现记住我下次自动登录功能

    目录 spring security实现记住我下次自动登录功能 一.原理分析 二.实现方式 2.1 简单实现方式 2.2 数据库实现方式 三.区分是密码登录还是rememberme登录 spring ...

  10. 【RSR】RSR如何配置BGP与BFD联动(动态路由)

    应用场景 企业租用运营商MSTP线路,配置BGP路由协议上网,由于企业本端出口路由器无法检测到运营商中间链路通信中断,导致路由收敛缓慢,无法快速的切换到其它备份线路,此时可以在路由器上启用BGP与BF ...