AMM和ASMM理解

AMM和ASMM理解oracle11g新出参数 MEMORY_MAX_TARGET和 MEMORY_TARGET进行自动管理PGA和SGA称之为自动化内存管理(AutomaticMemory Management,AMM)              MEMORY_MAX_TARGET :MEMORY_TARGET所能设定的最大值。非动态可调

大家好,又见面了,我是你们的朋友全栈君。

oracle11g新出参数  MEMORY_MAX_TARGET 和  MEMORY_TARGET 进行自动管理PGA 和SGA 称之为 自动化内存管理(Automatic Memory Management,AMM)              
MEMORY_MAX_TARGET  :MEMORY_TARGET所能设定的最大值。非动态可调                                                                                                                                              
MEMORY_TARGET :操作系统上 Oracle 所能使用的最大内存值。动态参数,MEMORY_TARGET 是PAG 和SGA的总和.memory_target 为 0 是手动
管理,非0为自动管理    
sga_max_size : sga_max_size 是sga的最大值                                                                                                                                                                                                       
sga_target  :  sga_target   是自动和手段管理 sga_target 为0 是手动管理,非0 是自动管理      

 

oracle 11g 引入参数mymory_max_target 和memory_target 就是oracle的新特性自动内存管理,AMM 的引入, 组合出来有 5 种内存管理形式.
自动内存管理(AMM): memory_target=非0,是自动内存管理  ,如果初始化参数 LOCK_SGA = true ,则 AMM 是不可用的。

自动共享内存管理(ASMM): 在memory_target=0 and sga_target=非0 是自动内存管理
手工共享内存管理: memory_target=0 and sga_target=0   指定 share_pool_size 、db_cache_size 等 sga 参数
自动 PGA 管理: memory_target=0 and workarea_size_policy=auto  and PGA_AGGREGATE_TARGET=值
手动 PGA 管理: memory_target=0 and workarea_size_policy=manal  然后指定 SORT_AREA_SIZE 等 PGA 参数,一般不使用手动管理PGA

SQL> show parameter result_cache_size
用来缓存sql语句结果
NAME         TYPE          VALUE
———————————— ——————————— ——————————
client_result_cache_size      big integer         0

 

 

 如果指定了memory_target 而没有指定memory_max_target 重启后,memory_max_target 和memory_target 大小相等
如果指定了memory_max_target 而没有指定 memory_target重启后memory_target 为0

SQL> show parameter memory

NAME                                 TYPE        VALUE
———————————— ———– —————————
hi_shared_memory_address             integer     0
memory_max_target                    big integer 1232M
memory_target                        big integer 1232M
shared_memory_address                integer     0

当设置  memory_max_target < memory_target 时:
SQL> alter system set memory_max_target=1000M scope=spfile;

系统已更改。

SQL> shut immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL>
SQL>
SQL> startup
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET

11g AMM管理方式:                                                                                                                
SQL> select name,bytes/1024/1024 from v$sgainfo;                                                               

NAME                             BYTES/1024/1024                                                                             
——————————– —————                                                                                         
Fixed SGA Size                        1.31111908                                                                              
Redo Buffers                            5.015625                                                                                   
Buffer Cache Size                            496                                                                                    
Shared Pool Size                             216                                                                                    
Large Pool Size                                8                                                                                        
Java Pool Size                                 8                                                                                       
Streams Pool Size                              8                                                                                    
Shared IO Pool Size                            0                                                                                   
Granule Size                                   8                                                                                       
Maximum SGA Size                      742.328125                                                                        
Startup overhead in Shared Pool               64                                                                           

Free SGA Memory Available                      0                                                                             

 SQL> show parameter sga                           

NAME                                 TYPE        VALUE                                               
———————————— ———– ——-                                                     
lock_sga                             boolean     FALSE                                               
pre_page_sga                         boolean     FALSE                                          
sga_max_size                         big integer 744M                                             
sga_target                           big integer 0                                                       

SQL> show parameter memory                                             

  NAME                                TYPE        VALUE                           
———————————— ———– ——-                                 
hi_shared_memory_address             integer     0                       
memory_max_target                    big integer 1232M                  
memory_target                        big integer 1232M                        
shared_memory_address                integer     0                           

从上面的参数可以看出,memory_target 非0 说明 sga和pga是统一自动管理
就不用看sga_target 为0的意义

 

 

在10g管理方式是自动共享内存管理(Automatic Share Memory Manage) ASMM
ASMM 方式管理,把memory_target 设置为0

SQL> alter system set memory_target=0 scope=spfile;

SQL> show parameter memory

NAME                                 TYPE        VALUE
———————————— ———– ———
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0
说明 AMM管理方式和ASMM管理方式一样
 只要设置memory_target 为 0 是oracle内存手动管理,非0oracle内存自动管理

SQL> show parameter sga

NAME                                 TYPE        VALUE
———————————— ———– ——-
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 144M
sga_target                           big integer 144M
说明在memory_target=0的情况下,oracle内存的手动管理,sga_target=144M,sga的自动管理

 

 

 

SQL> show parameter memory

NAME                                 TYPE        VALUE
———————————— ———– ———–
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0

SQL> alter system set sga_target=0 ;

系统已更改。

SQL> show parameter sga

NAME                                 TYPE        VALUE
———————————— ———– ——————–
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 144M
sga_target                           big integer 0

说明在memory_target=0的情况下,oracle内存的手动管理,sga_target=0M,sga是手动管理

 

 

 

 

SQL> show parameter sga

NAME                                 TYPE        VALUE
———————————— ———– ——————————
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 144M
sga_target                           big integer 0
SQL> alter   system set sga_target=120;

系统已更改。

SQL> show parameter sga

NAME                                 TYPE        VALUE
———————————— ———– ——————————
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 144M
sga_target                           big integer 144M

 

SQL> select component, granule_size/1024/1024 M from v$sga_dynamic_components;

COMPONENT                                                                 M
—————————————————————- ———-
shared pool                                                               4
large pool                                                                4
java pool                                                                 4
streams pool                                                              4
DEFAULT buffer cache                                                      4
KEEP buffer cache                                                         4
RECYCLE buffer cache                                                      4
DEFAULT 2K buffer cache                                                   4
DEFAULT 4K buffer cache                                                   4
DEFAULT 8K buffer cache                                                   4
DEFAULT 16K buffer cache                                                  4

COMPONENT                                                                 M
—————————————————————- ———-
DEFAULT 32K buffer cache                                                  4
Shared IO Pool                                                            4
ASM Buffer Cache                                                          4

已选择14行。

granule size 是 4M大小

 

SQL> alter   system set sga_target=120M;
alter   system set sga_target=120M
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00827: 无法将 sga_target 压缩到指定值

 

SQL> alter   system set sga_target=0;

系统已更改。

SQL> show parameter sga

NAME                                 TYPE        VALUE
———————————— ———– ————
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 144M
sga_target                           big integer 0

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133808.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VS2005清理VAssist插件「建议收藏」

    VS2005清理VAssist插件「建议收藏」VAssist卸载不彻底的情况下,导致注册表残留,VS2005总是去加载VAssist插件。通过搜索注册表里面的Addins来手动删除[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\8.0\Addins]…

    2022年9月23日
  • 国产自动化测试工具「建议收藏」

    国产自动化测试工具「建议收藏」软件测试工具一直是国外的占据了主流!国内鲜有自主研发的。但是最近几年国内逐渐出现了几个,也许发展下去可以与国外主流软件测试工具厂商一较高下。 AutoRunnerhttp://www.spasvo.com/泽众软件TAR终端自动化测试工具宣称是国内最好的银行业务测试工具。 Tester360http://www.tester360.com/亚

    2022年6月5日
  • python3异常可直接抛出_python自定义异常

    python3异常可直接抛出_python自定义异常python抛出异常的方法发布时间:2020-08-1411:10:34来源:亿速云阅读:89作者:小新这篇文章主要介绍python抛出异常的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。python学习网,大量的免费python视频教程,欢迎在线学习!常见异常#…

    2022年10月18日
  • 〖免杀〗.net程序一键免杀Win10 20H2 Defender「建议收藏」

    〖免杀〗.net程序一键免杀Win10 20H2 Defender「建议收藏」WIN10更新至最新版20H2发现,查杀能力比以前强了不少,特别是针对CS加载.NET程序集或NIM加载.NET的查杀,毕竟你要调用的函数微软很了解,它想拦截想杀还是比较容易的。但是不知道大家有没听说过一个故事“微软的编程工具的开发工程师,编写程序时,也需要查阅文档”,说明什么?微软系统的API很多,是微软写的没错,但又不是一个人自己写的,就算是一个人自己写的,功能那么多,他也根本记不起,用到自己的东西也要查阅文档,就像我用Ladon有时也要查阅文档,这很正常,因为我写过的工具或功能太多,有些久不用,甚至都

    2022年8月20日
  • YIQ颜色空间_简述RGB颜色

    YIQ颜色空间_简述RGB颜色首先,我们先来了解下有关颜色的基本概念一、色彩的基本概念1、彩色的三要素亮度:即人眼对光的明亮程度的感受。色调:人眼能看到的颜色种类,与光的波长有关饱和度:颜色深浅程度。与各种颜色混入白光的比例有关。以上色调+饱和度=色度2、三基色原理三基色可以通过适当比例的混合组成自然界中任何一种颜色由于人眼对于红绿蓝三种色光最为敏感,并且由这三种颜色能组成的颜色范围最广,故一般选用…

    2022年10月28日
  • sqlplus/as sysdba报错(ora-01422)

    windows下sqlplus/assysdba报ora-12560的终极解决方法

    2022年4月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号