背景
如果因为物理内存短缺,且仍要支持大量的会话连接,即可采用共享服务器模式,这种情况下,如何配置大池呢;大家知道在共享服务器模式下,客户端所有的会话信息是存储在SGA中的,确切是存储在共享池中(当你不配置大池),这块内存区域也叫UGA,应该如何评估UGA的大小呢,本文
进行了简要的测试。
结论
1,在共享服务器情况下,UGA即用户会话的一些配置信息,若未配置大池,即从共享池分配,否则从大池2,UGA所需要大小,请参考计算公式测试的第7步
测试
1,共享服务器模式下,如果不配置大池,会话内存区域即UGA是从共享池分配的,这样会造成共享片的碎片化很严重,引发4031错误所以要配置大池,即UGA从大池中配置
2,大池未配置情况下,默认值为300K
3,在共享服务器模式下,会为每个共享服务器会话在共享池中固定分配10K大小的内存,就是你已经配置了大池
4,CIRCUITS指定可以最大建立多少个共享服务器会话
5,在共享服务器模式下,为了提升性能,最好配置sort_area_size与sort_area_retained_size相同,目标就是不让排序在磁盘进行,全在大池进行
6,可以采用v$sesstat指标session uga memory以及session uga max memory,以评估每个会话消耗的UGA大小,然后* 所有的共享服务器会话个数,即可以计算出来
共计消耗多少UGA大小,即大池应配置多大
7,此为第6步的计算公式
SELECT SUM(VALUE) || ' BYTES' "TOTAL MEMORY FOR ALL SESSIONS"
FROM V$SESSTAT, V$STATNAME
WHERE NAME = 'session uga memory'
AND V$SESSTAT.STATISTIC# = V$STATNAME.STATISTIC#;
SELECT SUM(VALUE) || ' BYTES' "TOTAL MAX MEM FOR ALL SESSIONS"
FROM V$SESSTAT, V$STATNAME
WHERE NAME = 'session uga memory max'
AND V$SESSTAT.STATISTIC# = V$STATNAME.STATISTIC#;
个人简介
8年oracle从业经验,具备丰富的oracle技能,目前在国内北京某专业oracle服务公司从事高级技术顾问。
服务过的客户:
中国电信
中国移动
中国联通
中国电通
国家电网
四川达州商业银行
湖南老百姓大药房
山西省公安厅
中国邮政
北京302医院
河北廊坊新奥集团公司
项目经验:
中国电信3G项目AAA系统数据库部署及优化
中国联通4G数据库性能分析与优化
中国联通4G数据库性能分析与优化
中国联通CRM数据库性能优化
中国移动10086电商平台数据库部署及优化
湖南老百姓大药房ERR数据库sql优化项目
四川达州商业银行TCBS核心业务系统数据库模型设计和RAC部署及优化
四川达州商业银行TCBS核心业务系统后端批处理存储过程功能模块编写及优化
北京高铁信号监控系统RAC数据库部署及优化
河南宇通客车数据库性能优化
中国电信电商平台核心采购模块表模型设计及优化
中国邮政储蓄系统数据库性能优化及sql优化
北京302医院数据库迁移实施
河北廊坊新奥data guard部署及优化
山西公安厅身份证审计数据库系统故障评估
国家电网上海灾备项目4 node rac+adg
贵州移动crm及客服数据库性能优化项目
贵州移动crm及客服务数据库sql审核项目
深圳穆迪软件有限公司数据库性能优化项目
贵州移动crm及客服数据库性能优化项目
贵州移动crm及客服务数据库sql审核项目
深圳穆迪软件有限公司数据库性能优化项目
联系方式:
手机:18201115468
qq : 305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900
itpub博客名称:wisdomone1 http://blog.itpub.net/9240380/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-1808206/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-1808206/