oracle 10g在共享伺服器模式shared server如何配置大池large pool

wisdomone1發表於2015-09-24

背景

   如果因為實體記憶體短缺,且仍要支援大量的會話連線,即可採用共享伺服器模式,這種情況下,如何配置大池呢;大家知道在共享伺服器模式下,
客戶端所有的會話資訊是儲存在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資料庫效能分析與最佳化
中國聯通CRM資料庫效能最佳化
中國移動10086電商平臺資料庫部署及最佳化
湖南老百姓大藥房ERR資料庫sql最佳化專案
四川達州商業銀行TCBS核心業務系統資料庫模型設計和RAC部署及最佳化
四川達州商業銀行TCBS核心業務系統後端批處理儲存過程功能模組編寫及最佳化
北京高鐵訊號監控系統RAC資料庫部署及最佳化
河南宇通客車資料庫效能最佳化
中國電信電商平臺核心採購模組表模型設計及最佳化
中國郵政儲蓄系統資料庫效能最佳化及sql最佳化
北京302醫院資料庫遷移實施
河北廊坊新奧data guard部署及最佳化
山西公安廳身份證審計資料庫系統故障評估
國家電網上海災備專案4 node rac+adg 
       貴州移動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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章