一点ASMM总结

一点ASMM总结Oracle的SGA内存结构:BufferCache数据库高速缓存DefaultPool默认的缓冲池,大小由DB_CACHE_SIZE决定KeepPool…

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

OracleSGA内存结构:

Buffer Cache数据库高速缓存




Default Pool
默认的缓冲池,大小由
DB_CACHE_SIZE
决定


Keep Pool
持久的缓冲池,大小由
DB_KEEP_CACHE_SIZE
决定


Non standard pool
非标准块标准池,大小由
DB_nK_cache_size
决定


Recycle pool
回收池,大小由
db_recycle_cache_size
决定



Shared Pool 共享池,大小由shared_pool_size决定




Library cache
俗称的库缓存


Row cache
行缓存,也叫字典缓存



Java Pool java池,大小由Java_pool_size决定

Large Pool 大池,大小由Large_pool_size决定

Fixed SGA 固定的SGA区域,包含了Oracle内部的数据结构,一般被存放在第一个granule

 

 

通过SGA_TARGET参数手动配置ASMM。默认情况下,SGA_TARGET值为0,意味着ASMM关闭。要启动ASMM初始化参数statistics_level必须设置为typicalALL,同时SGA_TARGET参数设置为非0值。

如果为SGA_TARGET指定了非0值,则下面五个池将被自动设置,相应的参数被视为自动的(Autotuned parameters):

Database buffer cache(default pool) db_cache_size

shared pool shared_pool_size

large pool large_pool _size

streams pool streams_pool_size

java pool java_pool_size

 

还有一部分组建需要手动设置(Manually Tuned SGA Parameters):

Log buffer log_buffer

Keep pool db_keep_cache_size

Recycle pool db_recycle_cache_size

Non standard pool db_nk_cache_size

Fixed SGA 固定的SGA区域,包含了Oracle内部的数据结构

 

 

 

 

实际上我们不能同时设置sga_target为非0值和statistics_levelBASIC,会报错:

SYS@ tsid > alter system set statistics_level=basic;

alter system set statistics_level=basic

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-00830: cannot set statistics_level to BASIC with auto-tune SGA enabled

==============================================================================================================================================

SGA_TARGET对自动配置组件和手动配置组件的影响:

SGA_TARGET0,意味着ASMM关闭,Autotuned parameters正常工作,即为这些组建分配相应的内存值。

SGA_TARGET为非0值,默认情况下Autotuned parameters值都为0,如果手动为这些参数分配了值,则这些值将作为最小值。例如,SGA_TARGET设置为8GBSHARED_POOL_SIZE设置为1GB,则ASMM算法不会将shared pool缩减至小于1GB。下面的查询可以查看实际为这些组建分配的内存:

SYS@ tsid > select component,current_size/1024/1024 size_mb from v$sga_dynamic_components;

 

COMPONENT                                                           SIZE_MB

—————————————————————- ———-

shared pool                                                             156

large pool                                                                4

java pool                                                                 4

streams pool                                                              0

DEFAULT buffer cache                                                     28

KEEP buffer cache                                                         0

RECYCLE buffer cache                                                      0

DEFAULT 2K buffer cache                                                   0

DEFAULT 4K buffer cache                                                   0

DEFAULT 8K buffer cache                                                   0

DEFAULT 16K buffer cache                                                  0

 

COMPONENT                                                           SIZE_MB

—————————————————————- ———-

DEFAULT 32K buffer cache                                                  0

ASM Buffer Cache                                                          0

 

13 rows selected.

SGA_TARGET设定后,需要手动配置大小的SGA组件的空间值从SGA_TARGET中减去。例如,SGA_TARGET设置为8GBDB_RECYCLE_CACHE_SIZE设置为1GB,则为自动配置的组件(Autotuned parameters)空间值为7GB。同时,这7GB还包括剩余那些没有指定具体值的手动配置的SGA组件,但仅当那些自动配置组件分配完后,将剩余的空间分配给这些组件。

 

 

SGA_TARGET值是动态的,可以增长到SGA_MAX_SIZE,在确保所有组件都达到最小值的条件下,可以降低。

SGA_MAX_SIZE是可以给SGA分配的最大内存值。它不能被改变,除非重启数据库。

修改SGA_TARGET的值,只影响自动配置的组件。

如果增加了SGA_TARGET的值,增加的额外内存通过自动调整策略分配给自动配置组件。

如果减少了SGA_TARGET的值,自动内存调整策略将从自动配置组件中减去相应的内存。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25744374/viewspace-723084/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25744374/viewspace-723084/

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134441.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 在C#中ParameterizedThreadStart和ThreadStart区别

    在C#中ParameterizedThreadStart和ThreadStart区别
    不需要传递参数,也不需要返回参数
      我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:
    ThreadStartthreadStart=newThreadStart(Calculate);Threadthread=newThread(threadStart);thread.Start();publicvoidCalculate(){ doubleDiameter=0.5; Console.Write(“T

  • java 构造函数的作用_Java中构造函数的作用(转)

    java 构造函数的作用_Java中构造函数的作用(转)https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。如下:publicclassTest{privateStringname;//有参数的构造函数publicTest(Stringn…

  • JavaScript代码规范

    JavaScript代码规范1111

  • 云计算基础之如何学习云计算?

    背景随着云计算的普及,越来越多IDC上的网站与应用开始在云上。那么同时对于我们这些IT从业者来说,也面临着加快学习云计算,不被新技术淘汰的挑战。2011年,云计算正式开始发展。今年是2018年了,是云计算发展的第7个年头了。虽然云计算的前景很好,但它的发展也更多地是在商业应用上,还没能达到学习交流分享的层次。云计算的学习路线、书籍、社区与成熟的嵌入式、互联网行业相比,是非常欠缺的!我们这次…

  • 360企业版 修改服务器ip,360企业版快速安装部署图文教程「建议收藏」

    360企业版 修改服务器ip,360企业版快速安装部署图文教程「建议收藏」360企业版V5.0.6.1310官方最新版类型:服务器区大小:177.0M语言:中文评分:4.5标签:立即下载内容索引安装须知安装环境推荐全新安装控制中心旧版本升级安装控制中心配置控制中心1.360企业版有旧版本(基于C/S架构,点此下载)和新版本(基于B/S架构,点此下载)。用户可以选择继续使用旧版本(终端无数量限制,但版本不再更新,也不再添加新的产品功能);2.已有用户进行新旧版本升级时,…

  • 如何挖矿ETH_以太坊个人挖矿

    如何挖矿ETH_以太坊个人挖矿原文链接:https://zhuanlan.zhihu.com/p/32830672官方钱包以太坊的官方网站是:EthereumProject在网站页面的中间部分,提供了官方钱包的下载链接,网站会自动检测你的操作系统,并提供对应系统下钱包软件的下载链接。不过,官方钱包需要同步区块,既浪费时间,又占用硬盘空间。同时,官方钱包提供了大量其他的功能,比如智能合约。如果只是挖矿的话,这些多余的功能反倒增…

    2022年10月15日

发表回复

您的电子邮箱地址不会被公开。

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