ITPub博客

首页 > 数据库 > Oracle > 如何启用oracle11g的全自动内存管理以及计算memory_max_target及memory_target

如何启用oracle11g的全自动内存管理以及计算memory_max_target及memory_target

Oracle 作者:lsy721 时间:2017-09-22 16:55:38 0 删除 编辑
<h2> 结论 </h2> 1,memory_max_target及memory_target参数的配置,则会启用全自动内存管理功能<br /> 2,memory_target=sga_target+max(pga_aggregate_target+maximum pga allocated)<br /> 3,memory_target分配范围必须要在参数memory_max_target<br /> 4,memory_max_target参数分配原则,一要考虑数据库负载的持续变化发展以及物理内存的空间是否充足<br /> 5,sga_target及pga_aggregate_target若配置为0,则全自动内存管理,SGA及PGA组件分配完全由ORACLE根据业务负载分配,没有最小值的限制<br /> &nbsp; 否则,若2参数为非0,则SGA及PGA分配不能少于指定的值<br /> 6,建议在生产环境采用第5步后者的分配方式,以防内存分配抖动大量出现,引发严重的性能问题<br /> 7,数据库启动可以采用SPFILE或者PFILE,二者调整参数稍有不同,一定要注意二者的区别<br /> 8,对于RAC数据库,若采用ALTER SYSTEM方式调整开启全自动内存管理方式,且是一个实例一个实例调整,一定要添加选项sid='sid值',否则会报错<br /> &nbsp; &nbsp;调整完当前节点,再调整其它节点 &nbsp;<br /> 9,本文测试环境为RAC 2节点11.2.0.3数据库,基于ASM存储的SPFILE,并在另一篇文章测试基于PFILE调整全自动内存管理的RAC数据库 &nbsp;&nbsp;<br /> <h2> 背景 </h2> &nbsp; 如果在启动oracle 11g数据库后,想由原来的SGA及PGA自动管理改为SGA及PGA全自动内存管理,需要作哪些工作,又要了解哪些参数呢?<br /> 与全自动内存管理的参数memory_max_size及memory_target的值如何设定呢?<br /> &nbsp; 本文我们主要学习这些知识,供后期运维所需。<br /> <br /> <br /> <br /> <br /> <h2> 测试 </h2> 1,查看SGA_TARGET的参数值<br /> SQL&gt; show parameter sga_target<br /> <br /> <br /> NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TYPE &nbsp; &nbsp; &nbsp; &nbsp;VALUE<br /> ------------------------------------ ----------- ------------------------------<br /> sga_target &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; big integer 556m<br /> <br /> <br /> 2,查看PGA参数值<br /> SQL&gt; show parameter pga_<br /> <br /> <br /> NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TYPE &nbsp; &nbsp; &nbsp; &nbsp;VALUE<br /> ------------------------------------ ----------- ------------------------------<br /> pga_aggregate_target &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; big integer 187M<br /> <br /> <br /> 3,查看自数据库启动以来PGA分配过的最大值<br /> SQL&gt; select value from v$pgastat where name='maximum PGA allocated';<br /> <br /> <br /> &nbsp; &nbsp; &nbsp;VALUE<br /> ----------<br /> &nbsp;161836032<br /> <br /> <br /> <br /> <br /> &nbsp;SQL&gt; select 161836032/1024/1024 mb from dual;<br /> <br /> <br /> &nbsp; &nbsp; &nbsp; &nbsp; MB<br /> ----------<br /> 154.338867<br /> <br /> <br /> 4,综上所述,从理论上来讲,memory_target=sga_taget + max(pga_aggregate_target + maximum PGA allocated)<br /> <br /> <br /> &nbsp; &nbsp;memory_target=556m+max(187m,154m)=556m+187m=743m<br /> <br /> <br /> &nbsp; &nbsp; 注意:如果你物理内存充足,可用空间充足,可以把memory_target在上述计算的基础再增大一点<br /> <br /> <br /> 5,与全自动内存管理还有一个参数memory_max_size,又该如何设定呢?<br /> &nbsp; &nbsp; 首先此参数配置有几个原则:<br /> &nbsp; &nbsp; &nbsp; 1,此参数控制memory_target可以分配的最大值<br /> &nbsp; &nbsp; &nbsp; 2,分配此参数值一定要考虑业务发展的需要,可以把此参数值在第4步计算的基础上加大一些<br /> &nbsp; &nbsp;所以,配置memory_max_target=800m<br /> <br /> <br /> 6,现在全自动内存管理的2个参数的值已经计算完毕,开始在数据库层面进行具体的调整,这里根据是否采用SPFILE或者PFILE,动作稍稍有所区别<br /> <br /> <br /> 7,先看如果数据库启动采用SPFILE<br /> &nbsp; &nbsp; ---即设定为第5步计算的值(若为RAC,添加选项sid)<br /> &nbsp; &nbsp; alter system set memory_max_target=800m &nbsp;scope=spfile sid='*';<br /> <br /> <br /> 8,重启数据库实例<br /> &nbsp; &nbsp; shutdown immediate<br /> &nbsp; &nbsp; startup<br /> <br /> <br /> 9,动态调整memory_target及sga_target及pga_aggregate_target几个参数的值<br /> <br /> <br /> &nbsp;---743m为第4步计算的值<br /> <br /> <br /> &nbsp;--- 对于当前操作的RAC数据库实例,一定要添加 sid='jingfa1',否则会报ORA-32018: parameter cannot be modified in memory on another instance<br /> alter system set memory_target=743m;<br /> alter system set sga_target=0;<br /> alter system set pga_aggregate_target=0; &nbsp; &nbsp; &nbsp; &nbsp;<br /> <br /> <br /> <br /> <br /> 注意:如果你配置sga_target及pga_aggregate_target为0,则完全由ORACLE动态根据数据库负载无限制调整sga及pga的大小(这种方式到时内存分配抖动过大,会引发严重的性能问题);<br /> &nbsp; &nbsp; &nbsp;但是,如果你配置sga_target及pga_aggregate_target为非0值,则为内存动态调整时,其为最小值,即不能少于这个值(建议在生产环境采用这种方式)<br /> <br /> <br /> <br /> <br /> 10,如果是RAC数据库,还要启动其它的节点<br /> startup nomount<br /> <br /> <br /> alter system set memory_target=743m sid='jingfa2';<br /> <br /> <br /> alter system set sga_target=0 sid='jingfa2';<br /> <br /> <br /> alter system set pga_aggregate_target=0 sid='jingfa2';<br /> <br /> <br /> alter database mount;<br /> <br /> <br /> alter database open;<br /> <br /> <br /> <b style="color:#666666;font-family:宋体, Arial;line-height:26px;white-space:normal;"> <h2 style="margin:0px;padding:0px;"> <span style="text-indent:2em;">个人简介</span> </h2> <b style="text-indent:24px;"><br /> <div style="text-indent:2em;"> 8年oracle从业经验,具备丰富的oracle技能,目前在国内北京某专业oracle服务公司从事高级技术顾问。 </div> <div style="text-indent:2em;"> </div> <div style="text-indent:2em;"> 服务过的客户: </div> <div style="text-indent:2em;"> 中国电信 </div> <div style="text-indent:2em;"> 中国移动 </div> <div style="text-indent:2em;"> 中国联通 </div> <div style="text-indent:2em;"> 中国电通 </div> <div style="text-indent:2em;"> 国家电网 </div> <div style="text-indent:2em;"> 四川达州商业银行 </div> <div style="text-indent:2em;"> 湖南老百姓大药房 </div> <div style="text-indent:2em;"> 山西省公安厅 </div> <div style="text-indent:2em;"> 中国邮政 </div> <div style="text-indent:2em;"> 北京302医院 &nbsp; &nbsp;&nbsp; </div> <div style="text-indent:2em;"> 河北廊坊新奥集团公司 </div> <div style="text-indent:2em;"> <br /> &nbsp;项目经验: </div> <div style="text-indent:2em;"> 中国电信3G项目AAA系统数据库部署及优化<br /> &nbsp; &nbsp; &nbsp; 中国联通4G数据库性能分析与优化 </div> <div style="text-indent:2em;"> 中国联通CRM数据库性能优化 </div> <div style="text-indent:2em;"> 中国移动10086电商平台数据库部署及优化 </div> <div style="text-indent:2em;"> 湖南老百姓大药房ERR数据库sql优化项目 </div> <div style="text-indent:2em;"> 四川达州商业银行TCBS核心业务系统数据库模型设计和RAC部署及优化 </div> <div style="text-indent:2em;"> 四川达州商业银行TCBS核心业务系统后端批处理存储过程功能模块编写及优化 </div> <div style="text-indent:2em;"> 北京高铁信号监控系统RAC数据库部署及优化 </div> <div style="text-indent:2em;"> 河南宇通客车数据库性能优化 </div> <div style="text-indent:2em;"> 中国电信电商平台核心采购模块表模型设计及优化 </div> <div style="text-indent:2em;"> 中国邮政储蓄系统数据库性能优化及sql优化 </div> <div style="text-indent:2em;"> 北京302医院数据库迁移实施 </div> <div style="text-indent:2em;"> 河北廊坊新奥data guard部署及优化 </div> <div style="text-indent:2em;"> 山西公安厅身份证审计数据库系统故障评估 </div> <div style="text-indent:2em;"> 国家电网上海灾备项目4 node&nbsp;rac+adg&nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;贵州移动crm及客服数据库性能优化项目<br /> &nbsp; &nbsp; &nbsp; &nbsp;贵州移动crm及客服务数据库sql审核项目<br /> &nbsp; &nbsp; &nbsp; &nbsp;深圳穆迪软件有限公司数据库性能优化项目 </div> <div style="text-indent:2em;"> <br /> 联系方式: </div> <div style="text-indent:2em;"> 手机:18201115468 </div> <div style="text-indent:2em;"> qq &nbsp; : &nbsp; 305076427 </div> <div style="text-indent:2em;"> qq微博: wisdomone1 </div> <div style="text-indent:2em;"> 新浪微博:wisdomone9 </div> <div style="text-indent:2em;"> qq群:275813900 &nbsp; &nbsp; </div> <div style="text-indent:2em;"> itpub博客名称:wisdomone1 &nbsp; &nbsp;<a href="http://blog.itpub.net/9240380/" style="text-decoration:none;color:#565656;">http://blog.itpub.net/9240380/</a> </div> </b></b><br /> <br />

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

请登录后发表评论 登录
全部评论

注册时间:2014-03-31

  • 博文量
    26
  • 访问量
    34328