Oracle自动内存管理AMM

AMM(Automatic Memory Management)自动内存管理,分配一整块内存区域,Oracle数据库自动分配管理SGA和PGA的内存。具体通过设置两个参数MEMORY_MAX_TARGETMEMORY_TARGET达到需求效果

1.查看当前SGA_TARGET和PGA_AGGREGATE_TARGET参数。

SYS@oradb> show parameter target;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 0
memory_target big integer 0
parallel_servers_target integer 256
pga_aggregate_target big integer 2951M
sga_target big integer 4G

2.修改相关参数,把sga和pga参数改为0

alter system set memory_max_target=16384m scope=spfile;
alter system set memory_target=16384m scope=spfile;
alter system set sga_target=0 scope=spfile;
alter system set sga_max_size=0 scope=spfile;
alter system set pga_aggregate_target=0 scope=spfile;

3.重启数据库实例:

SQL>shutdown immediate;
SQL>startup;
SYS@oradb> show parameter target; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 16G
memory_target big integer 16G
parallel_servers_target integer 256
pga_aggregate_target big integer 0
sga_target big integer 0

至此,数据库切换至AMM内存管理。

4.监控和优化AMM的内存

动态性能视图V$MEMORY_DYNAMIC_COMPONENTS显示所有动态内存组件的当前大小。

动态性能视图V$MEMORY_RESIZE_OPS会有一个circular history buffer,查看最近16G内存的请求情况。

动态性能视图V$MEMORY_TARGET_ADVICE,会给与一个内存优化建议。

SYS@oradb> SELECT * FROM v$memory_target_advice ORDER BY memory_size; 

MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR    VERSION
----------- ------------------ ------------ ------------------- ----------
4096 .25 487 1 0
8192 .5 487 1 0
10240 .625 487 1 0
12288 .75 487 1 0
14336 .875 487 1 0
16384 1 487 1 0
18432 1.125 487 1 0
20480 1.25 487 1 0
22528 1.375 487 1 0
24576 1.5 487 1 0
26624 1.625 487 1 0
28672 1.75 487 1 0
30720 1.875 487 1 0
32768 2 487 1 0

备注:Automatic Shared Memory Management (ASMM) was introduced in 10g. You enable the automatic shared memory management feature by setting the SGA_TARGET parameter to a non-zero value.

关于SGA_TARGET 动态内存建议视图如下:


SYS@oradb> select * from v$sga_target_advice; SGA_SIZE SGA_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR ESTD_PHYSICAL_READS
---------- --------------- ------------ ------------------- -------------------
2457 .25 488 1 42221
3685 .3749 488 1 42221
4914 .5 488 1 42221
6142 .6249 488 1 42221
7371 .75 488 1 42221
8599 .8749 488 1 42221
9828 1 488 1 42221
11056 1.1249 488 1 42221
12285 1.25 488 1 42221
13513 1.3749 488 1 42221
14742 1.5 488 1 42221
15970 1.6249 488 1 42221
17199 1.75 488 1 42221
18427 1.8749 488 1 42221
19656 2 488 1 42221

【Oracle】Oracle自动内存管理AMM的更多相关文章

  1. JVM自动内存管理学习笔记

    对于使用 C.C++ 的程序员来说,在内存管理领域,他们既是拥有最高权力的皇帝又是从事最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任.对于 Java 程 ...

  2. oracle11g自动内存管理

    Oracle一直不停的在为Orace数据库的自动化管理努力着,11G中的自动内存管理是Oracle数据库中又一新的里程碑,通过新参数MEMORY_TARGET 来代替PGA和SGA的配置,ORACLE ...

  3. iOS----ARC(自动内存管理)

    1.ARC是什么呢,有什么用? ARC是苹果官方推出的帮助我们苹果开发工程师管理内存的一种自动内存管理机制,它的前身是MRC,也就是手动内存管理: 2.ARC的基本原理是什么? ARC是编译器(时)特 ...

  4. cocos2d-x学习之自动内存管理

    一.自动内存管理 1)概述 C++语言默认是没有提供自动内存管理的.使用者需要自己分配,自己释放.在cocos2d-x里提供了一个自动内存管理的方案.主要是通过CCObject来提供的,用户只要继承了 ...

  5. 垃圾回收算法手册:自动内存管理的艺术 BOOK

    垃圾回收算法手册:自动内存管理的艺术 2016-03-18 华章计算机 内容简介 PROSPECTUS 本书是自动内存管理领域的里程碑作品,汇集了这个领域里经过50多年的研究沉积下来的最佳实践,包含当 ...

  6. Xcode 如何设置 自动内存管理 转换为 手动内存管理

    建议使用自动内存管理 ARC. 如果不想自动内存管理,可以在build phases 下的compile sources 中找到不想自动管理的.m文件 ,给它加compiler flags 为 -fn ...

  7. JVM自动内存管理-Java内存区域与内存溢出异常

    摘要: JVM内存的划分,导致内存溢出异常的可能区域. 1. JVM运行时内存区域 JVM在执行Java程序的过程中会把它所管理的内存划分为以下几个区域: 1.1 程序计数器 程序计数器是一块较小的内 ...

  8. JVM介绍&自动内存管理机制

    1.介绍JVM(Java Virtual Machine,Java虚拟机) JVM是Java Virtual Machine的缩写,通常成为java虚拟机,作为Java可以进行一次编写,到处执行(Wr ...

  9. JVM自动内存管理机制——Java内存区域(下)

    一.虚拟机参数配置 在上一篇<Java自动内存管理机制——Java内存区域(上)>中介绍了有关的基础知识,这一篇主要是通过一些示例来了解有关虚拟机参数的配置. 1.Java堆参数设置 a) ...

随机推荐

  1. RPA 可以给医疗行业带来哪些好处

    如今,医疗保健行业通过利用颠覆性科学技术,使护理服务更加高效.医疗保健行业已经转向数字化,很多大型医疗机构开始采用 RPA(机器人流程自动化),使医疗服务的竞争力不断攀升.使用 RPA 可以完美自动化 ...

  2. python爬取小说

    运行结果: 代码: import requests from bs4 import BeautifulSoup from selenium import webdriver import os cla ...

  3. 为什么要做外链建设?seo优化与发布外链速度有哪些联系?

    对于SEO员工来说,我们每天都在处理网页.从内容创建的角度来看,我们每天创建大量的URL并进入索引状态.与网站的受欢迎程度相比,网站每天也会生成大量的外部链接. 实际上,相对于链接而言,它满足了搜索引 ...

  4. Python 最强 IDE 详细使用指南!-PyCharm

    PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率.那么具体如何使用呢?本文从 PyCharm 安装到插件.外部工具.专业版功能等进行了一一介绍,希望能够帮助到大家. ...

  5. MySQL问题记录——ERROR 1728 (HY000)

    MySQL问题记录——ERROR 1728 (HY000) 摘要:本文主要记录了在使用MySQL的过程中遇到错误代码为1728的问题以及解决方案. 问题重现 在创建自定义函数的时候,出现了问题: my ...

  6. 马蜂窝 iOS App 启动治理:回归用户体验

    增长.活跃.留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能.启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率.因此,确保启 ...

  7. echarts地图map城市间如何连线

    let bjData = [ [{name:'北京'}, {name:'上海',value:95}], [{name:'北京'}, {name:'广州',value:90}]]; let conver ...

  8. 做一个vue轮播图组件

    根据huangyi老师的慕课网vue项目跟着做的,下面大概记录了下思路 1.轮播图的图 先不做轮播图逻辑部分,先把数据导进来,看看什么效果.在recommend组件新建一个recommends的数组, ...

  9. Android 安全攻防(一):SEAndroid的编译

    转自:http://blog.csdn.net/yiyaaixuexi/article/details/8330645 SEAndroid概述   SEAndroid(Security-Enhance ...

  10. Web安全攻防笔记-SQL注入

    information_schema(MySQL5.0版本之后,MySQL数据库默认存放一个information_schema数据库) information_schema的三个表: SCHEMAT ...