对oracle实例的内存(SGA和PGA)进行调整,优化数据库性(27)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:16 点击:

SQL> select sum(pga_used_mem)/1024/1024 from v$process;   ----当前process一共消耗的PGA 
SUM(PGA_USED_MEM)/1024/1024
---------------------------
28.8192501068115 
如何设置PGA呢?我们可以在压力测试阶段,模拟一下系统的运行,然后运行 
select (select sum(pga_used_mem)/1024/1024 from v$process) /(select count(*) from v$process) from dual;得到一个process大约占用了多少的内存,然后估算系统一共会有多少连接,比如一共有500个连接, 
那么Sessions=1.1*process +5=500,那么processes=450,再乘以一个process需要消耗的内存,就能大约估算出PGA需要设置多大。 
最好将PGA设置的值比计算出的值大一点,PGA值设定好后,就可以根据系统的性质,如果系统为OLTOP,那么总的内存可以设置为 PGA/0.16,最后也能估算出SGA的大小,建议还是多配点内存,反正便宜。 
下面摘抄eygle的关于一个process能够分配的最大内存(串行操作)的规则: 
10gR1之前,对于串行操作(非并行)一个process能够分配的最大的内存为 min(5%pga_aggregate_target,100m) 
10gR2之后,对于串行操作(非并行)一个process能够分配的最大内存有如下规则: 
如果pga_aggregate_target<=500m,那么最大的内存为20%*pga_aggregate_target. 
如果500m<pga_aggregate_target<=1000m,那么最大内存为100m. 
如果1000m<pga_aggregate_target<=2.5G,那么最大内存为 10%*pga_aggregate_target.
如果pga_aggregate_target>2.5G,那么最大内存为2.5G.
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2  FROM SYS.x$ksppi x, SYS.x$ksppcv y
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1