[20191211]Free SGA Memory Available.txt

lfree發表於2019-12-11

[20191211]Free SGA Memory Available.txt

--//自己從來沒有使用AMM方式管理資料庫,今天調優資料庫發現自己不注意的一個細節.

1.環境:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> select * from v$sgainfo;
NAME                                            BYTES RES
---------------------------------------- ------------ ---
Fixed SGA Size                                2270192 No
Redo Buffers                                 46850048 No
Buffer Cache Size                         16508780544 Yes
Shared Pool Size                           2885681152 Yes
Large Pool Size                             402653184 Yes
Java Pool Size                              402653184 Yes
Streams Pool Size                                   0 Yes
Shared IO Pool Size                                 0 Yes
Granule Size                                 67108864 No
Maximum SGA Size                          33939099648 No
Startup overhead in Shared Pool            1288055296 No
Free SGA Memory Available                 13690208256
12 rows selected.

--//我開始以為出了什麼問題.Free SGA Memory Available=13690208256.
--//仔細想想AMM管理方式引起看到的現象.做1個記錄.

2.其它引數定義如下:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> show parameter memory
NAME                     TYPE        VALUE
------------------------ ----------- -------
hi_shared_memory_address integer     0
memory_max_target        big integer 32512M
memory_target            big integer 32512M
shared_memory_address    integer     0

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> show parameter pga
NAME                 TYPE        VALUE
-------------------- ----------- -----
pga_aggregate_target big integer 0
--//你也可以定義pga_aggregate_target值,這樣就是定義最小值.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> @ hide __pga_aggregate_target
NAME                   DESCRIPTION                                               DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
---------------------- --------------------------------------------------------- ------------- ------------- ------------ ----- ---------
__pga_aggregate_target Current target size for the aggregate PGA memory consumed TRUE          13690208256   13690208256  FALSE IMMEDIATE

--//__pga_aggregate_target大小等於Free SGA Memory Available.

#  du -mc /dev/shm/*bills1* | tail -1
18091   total

*/

--//可以發現例項僅僅佔18091M.與前面看到的還是符合的.現在感覺AMM方式並不是很好,實際上AMM完全限制整個應用使用的記憶體大小.
--//如果PGA需求很大,自然會擠壓其它元件記憶體的使用.反而很難達到一個很好的管理控制.
--//而且最重要一點無法使用hugepages,實際上目前的情況是PGA無法定義成hugepages,估計oracle也不會實現這樣的功能.

--//而且上線後轉換有時候留給運維的時間視窗很小,而且有1個坑,就是必須清除memory_max_target,memory_target.而不是設定成0.
--//這樣反而起不來.連結:http://blog.itpub.net/267265/viewspace-2151023/=>[20180211]11g關閉AMM.txt.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2667935/,如需轉載,請註明出處,否則將追究法律責任。

相關文章