自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle內(nèi)存管理PGA詳解

數(shù)據(jù)庫 Oracle
本文詳細(xì)介紹了Oracle 10g數(shù)據(jù)庫中PGA的內(nèi)存管理,希望能對(duì)讀者有所幫助。

Oracle 10g數(shù)據(jù)庫中需要設(shè)置workarea_size_policy為AUTO,并設(shè)置pga_aggregate_target參數(shù)來實(shí)現(xiàn)PGA內(nèi)存管理。接下來我們就來介紹這一設(shè)置過程的實(shí)現(xiàn)。首先看看如下代碼:

  1. SQL> show parameter pga    
  2.  
  3. NAME                                 TYPE        VALUE    
  4.  
  5. ------------------------------------ ----------- ------------------------------     
  6.  
  7. pga_aggregate_target                 big integer 169M    
  8.  
  9. SQL> show parameter workarea    
  10.  
  11. NAME                                 TYPE        VALUE    
  12.  
  13. ------------------------------------ ----------- ------------------------------     
  14.  
  15. workarea_size_policy                 string      AUTO    
  16.  
  17. SQL> show parameter pga  
  18.  
  19. NAME                                 TYPE           VALUE  
  20.  
  21. ------------------------------------ ----------- ------------------------------  
  22.  
  23. pga_aggregate_target big  integer           169M  
  24.  
  25. SQL> show parameter workarea  
  26.  
  27. NAME                                TYPE            VALUE  
  28.  
  29. ------------------------------------ ----------- ------------------------------  
  30.  
  31. workarea_size_policy         string            AUTO 

pga_aggregate_target參數(shù)可以根據(jù)經(jīng)驗(yàn)值進(jìn)行設(shè)置,評(píng)估PGA的簡單方法可以查看AWR報(bào)告中的PGA命中率(PGA Cache Hit%),以及分析direct path read temp和direct path write temp等待事件是否比較高,這些等待表示PGA設(shè)置參數(shù)有限而導(dǎo)致大量臨時(shí)表空間操作出現(xiàn)的等待事件。當(dāng)然還有復(fù)雜的評(píng)估PGA的方法,以后再看吧。

注意,9I的shared server連接需要明確設(shè)置SORT_AREA_SIZE 和 HASH_AREA_SIZE,也就是說不能用自動(dòng)管理模式。10G則無此限制。

PGA_AGGREGATE_TARGET是一個(gè)上限(理論上的***值,PL/SQL就很容易超過),ORACLE啟動(dòng)時(shí)并不分配那么多,你甚至可以設(shè)置大于物理MEM的大?。ㄉa(chǎn)庫不要這么做呀,要設(shè)置pga_aggregate_target+sga<MEM ,別挑戰(zhàn)ORACLE的極限)。一個(gè)SESSION可能有多個(gè)sort,hash的workarea,每一個(gè)workarea最多會(huì)用到5%或100M(由兩個(gè)隱藏參數(shù)控制),因此如果預(yù)計(jì)每個(gè)sort,hash的workarea是5M,應(yīng)該設(shè)置PGA_AGGREGATE_TARGET成100M。但是,隨著用戶的增加或工作量的增大,給每個(gè)workarea的容量可能會(huì)減少,因?yàn)橛锌偭縋GA_AGGREGATE_TARGET的限制,比如需要100個(gè)workarea,那么每個(gè)只能分配到1M。

parallel query會(huì)用到最多30%(由隱藏參數(shù)控制)的PGA_AGGREGATE_TARGET,每一個(gè)parallel query的PIECE會(huì)分配相應(yīng)的30%,也就是parallel query可能會(huì)用到30M,10個(gè)PARALLEL,那么每個(gè)用3M。這也就是建議用auto管理的原因,一個(gè)系統(tǒng)通常workload,session是隨時(shí)間變化的,早上可能3個(gè)用戶,中午可能300個(gè)用戶,所以用固定sort,hash的參數(shù)是不合時(shí)宜的.自動(dòng)管理才可以實(shí)現(xiàn)在用戶并發(fā)少的時(shí)候分配更多的內(nèi)存,在并發(fā)多的時(shí)候照顧大眾,分配少的內(nèi)存。ORACLE 9.2以后有了PGA advisory。這一段中所說的5%,30%不知是否正確,沒有時(shí)間看oracle文檔,在此提醒一下自己。

v$pgastat:

  1. SQL> set pagesize 200  
  2.  
  3. SQL> select name||' '|| to_char(decode( unit,  
  4.  
  5. 'bytes', value/1024/1024,  
  6.  
  7. value ),'999,999,999.9')||' '||  
  8.  
  9. decode( unit, 'bytes', 'mbytes', unit   
  10.  
  11. from v$pgastat;  
  12.  
  13. NAME||''||TO_CHAR(DECODE(UNIT,'BYTES',VALUE/1024/1024,VALUE),'999,999,999.9')||''||DECODE(UN  
  14.  
  15. --------------------------------------------------------------------------------------------  
  16.  
  17. aggregate PGA target parameter 169.0 mbytes  
  18.  
  19. aggregate PGA auto target 124.3 mbytes  
  20.  
  21. global memory bound 33.8 mbytes  
  22.  
  23. total PGA inuse 30.9 mbytes  
  24.  
  25. total PGA allocated 65.4 mbytes  
  26.  
  27. maximum PGA allocated 82.2 mbytes  
  28.  
  29. total freeable PGA memory .0 mbytes  
  30.  
  31. process count 24.0  
  32.  
  33. max processes count 33.0  
  34.  
  35. PGA memory freed back to OS .0 mbytes  
  36.  
  37. total PGA used for auto workareas .0 mbytes  
  38.  
  39. maximum PGA used for auto workareas .6 mbytes  
  40.  
  41. total PGA used for manual workareas .0 mbytes  
  42.  
  43. maximum PGA used for manual workareas .0 mbytes  
  44.  
  45. over allocation count .0  
  46.  
  47. bytes processed 23.5 mbytes  
  48.  
  49. extra bytes read/written .0 mbytes  
  50.  
  51. cache hit percentage 100.0 percent  
  52.  
  53. recompute count (total) 817.0 

幾個(gè)重要參數(shù)的說明:

aggregate PGA target parameter  設(shè)置的pga的目標(biāo)參數(shù)值。

aggregate PGA auto target 在自動(dòng)管理模式下,oracle工作區(qū)可使用的pga。

total PGA inuse 當(dāng)前實(shí)例使用的pga。

total PGA allocated  當(dāng)前實(shí)例實(shí)際分配的pga。

maximum PGA allocated 可分配的***pga。

over allocation count ORACLE分配的PGA超過pga_aggregate_target的次數(shù).這個(gè)參數(shù)可以判斷pga_aggregate_target是否設(shè)置的太小。

cache hit percentage 自從instance啟動(dòng)后的PGA命中率,如果所有的操作都在MEM中進(jìn)行沒有在TEMP里運(yùn)行的話應(yīng)該是100%。

【編輯推薦】

  1. SQL Server 2005數(shù)據(jù)庫用戶權(quán)限管理的設(shè)置
  2. 淺析SQL Server數(shù)據(jù)庫專用管理員連接DAC的使用
  3. 在SQL SERVER 2005執(zhí)行存儲(chǔ)過程的權(quán)限分配問題
  4. 忘記sa密碼,又刪除了administrators帳號(hào)的解決方法
  5. T-SQL行列相互轉(zhuǎn)換命令:PIVOT和UNPIVOT使用詳解
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2011-06-03 10:19:59

iphone Objective-

2010-11-19 13:01:31

Oracle日志文件

2018-12-18 14:37:26

Spark內(nèi)存管理

2017-04-01 14:01:50

Apache Spar內(nèi)存管理

2019-05-30 11:04:52

內(nèi)存Spark管理

2010-11-19 14:33:57

Oracle服務(wù)

2010-09-26 13:23:13

JVM內(nèi)存管理機(jī)制

2018-10-12 11:11:39

Oracle內(nèi)存結(jié)構(gòu)

2011-07-01 10:16:08

C++內(nèi)存管理

2010-12-10 15:40:58

JVM內(nèi)存管理

2011-06-29 17:20:20

Qt 內(nèi)存 QOBJECT

2010-04-16 11:32:29

PGA和UGA

2018-08-09 11:06:39

Apache Spar內(nèi)存模型

2020-08-18 19:15:44

Redis內(nèi)存管理

2009-10-23 16:03:40

Oracle 10g系內(nèi)存管理

2009-03-18 09:45:32

教程管理用戶

2009-09-02 09:23:26

.NET內(nèi)存管理機(jī)制

2011-08-22 11:07:16

IOS 開發(fā)多核內(nèi)存

2010-10-28 14:29:39

Oracle內(nèi)存結(jié)構(gòu)

2011-05-19 13:25:14

Oracle數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)