基於參數shared_pool_reserved_size進一步理解共用池shared pool原理

來源:互聯網
上載者:User
結論 1,與共用池相關的參數為:shared_pool_size,shared_pool_reserved_size,_shared_pool_reserved_pct
  _shared_pool_reserved_min_alloc
2,shared_pool_reserved_size一般預設是shared_pool_size的5%,這個比例由參數_shared_pool_reserved_pct控制
3,_shared_pool_reserved_min_alloc控制保留池中最小的分配大小,預設大小為4400,其取值範圍為4000bytes到60M之間(當然這是基於當前共用池大小)
  否則會報錯資料庫無法重啟
4,調整  shared_pool_reserved_size,_shared_pool_reserved_pct,_shared_pool_reserved_min_alloc全要重啟庫方可
5,調整上述的參數可以是相互獨立,即調整一個參數後,其它參數不會動態進行相應的調整,仍保持原值
6,每個保留列表對應堆HEAP,即多少個堆就有多少個保留列表
  每個保留列表下麵包括14個BUCKET
7,調整上述幾個參數,發現保留列表相關資料沒有發生明顯的變化,當然,也限於我對這塊的理解還不到位
8,x$ksmspr記錄保留區CHUNK的分配情況,CHUNK大小共計2種,第1種為48位元組,第2種為 4529992即4424K ,具體測試見   經過在UE進行尋找分析比對 (在文章進行匹配尋找即可)
 
9,關於x$ksmspr的使用,請見下面測試之 --獲知與CHUNK分配相關的X視圖(在文章進行匹配尋找即可)

10, x$ksmsp是x$ksmspr的父集,即前者包含後者
測試

----oracle version
SQL> select * from v$version where rownum=1;


BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi


--與保留區相關的參數,可見shared_pool_reserved_size=shared_pool_size*_shared_pool_reserved_pct,且_shared_pool_reserved_pct預設值為5%
SQL> show parameter shared_pool


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_reserved_size            big integer 44M
shared_pool_size                     big integer 0


控制從共用池分配多大比例給保留池,可見為5%
_shared_pool_reserved_pct                          5                                                  percentage memory of the shared pool allocated for
                                                                                                       the reserved area
保留池中最小的分配大小為4400位元組,也就是小於這個大小,不會從保留池分配記憶體,只會從FREE LIST及LRU LIST分配記憶體
_shared_pool_reserved_min_alloc                    4400                                               minimum allocation size in bytes for reserved area
                                                                                                       of shared pool


v$sgainfo或者__shared_pool_size可得到當前共用池的大小
SQL> select name,bytes/1024/1024 as mb,resizeable from v$sgainfo where name='Shared Pool Size';


NAME                                     MB RES
-------------------------------- ---------- ---
Shared Pool Size                        832 Yes


__shared_pool_size                                 872415232                                          Actual size in bytes of shared pool


      


SQL> select 872415232*0.05/1024/1024 mb from dual;


        MB
----------
      41.6                                                                                                                                                                                                            


先研究下參數shared_pool_reserved_size調整對於共用池記憶體配置的影響
----未調整shared_pool_reserved_size前
----共計4個heap
SQL> host more /home/ora10g/admin/ora10g/udump/ora10g_ora_14042.trc|grep -i --color sga
HEAP DUMP heap name="sga heap"  desc=0x60000058
HEAP DUMP heap name="sga heap(1,0)"  desc=0x60034fe0
HEAP DUMP heap name="sga heap(1,1)"  desc=0x60036838
  Chunk        0a3b7bc20 sz=  4190296    recreate  "KSFD SGA I/O b "  latch=(nil)
HEAP DUMP heap name="sga heap(1,2)"  desc=0x60038090
HEAP DUMP heap name="sga heap(1,3)"  desc=0x600398e8


---可見每個heap對應一個保留區的free list,共計4個
SQL> host more /home/ora10g/admin/ora10g/udump/ora10g_ora_14042.trc|grep -i --color "RESERVED FREE LISTS:"
RESERVED FREE LISTS:
RESERVED FREE LISTS:
RESERVED FREE LISTS:
RESERVED FREE LISTS:


--可見每個保留區的free list包含14個bucket,共計56個bucket,並且在RESERVED EXTENTS部分會包含每個保留區free list中bucket中的chunk(大家可以這樣理解,ORACLE是採用BUCKET來管理分配不同大小的記憶體)
SQL> host more /home/ora10g/admin/ora10g/udump/ora10g_ora_14042.trc|grep -i --color RESERVED
 reserved granule count 46 (granule size 16777216)
RESERVED EXTENTS
 reserved granules for root 46 (granule size 16777216)
  Chunk        0a1000058 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a10ccfd0 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a2000058 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a20ccfd0 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a4000058 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a40ccfd0 sz=       48  R-freeable  "reserved stoppe"
RESERVED FREE LISTS:
 Reserved bucket 0 size=32
 Reserved bucket 1 size=4400
 Reserved bucket 2 size=8216
 Reserved bucket 3 size=8696
 Reserved bucket 4 size=8704
 Reserved bucket 5 size=8712
 Reserved bucket 6 size=8720
 Reserved bucket 7 size=9368
 Reserved bucket 8 size=9376
 Reserved bucket 9 size=12352
 Reserved bucket 10 size=12360
 Reserved bucket 11 size=16408
 Reserved bucket 12 size=32792
 Reserved bucket 13 size=65560
Total reserved free space   =  2518488
 reserved granules for root 46 (granule size 16777216)
  Chunk        0a3000058 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a30ccfd0 sz=       48  R-freeable  "reserved stoppe"
RESERVED FREE LISTS:
 Reserved bucket 0 size=32
 Reserved bucket 1 size=4400
 Reserved bucket 2 size=8216
 Reserved bucket 3 size=8696
 Reserved bucket 4 size=8704
 Reserved bucket 5 size=8712
 Reserved bucket 6 size=8720
 Reserved bucket 7 size=9368
 Reserved bucket 8 size=9376
 Reserved bucket 9 size=12352
 Reserved bucket 10 size=12360
 Reserved bucket 11 size=16408
 Reserved bucket 12 size=32792
 Reserved bucket 13 size=65560
Total reserved free space   =   839496
 reserved granules for root 46 (granule size 16777216)
  Chunk        0a0000058 sz=       48  R-freeable  "reserved stoppe"
  Chunk        0a00ccfd0 sz=       48  R-freeable  "reserved stoppe"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.