oracle 10g sga自動管理amm(補充二)
背景
在前面的文章,測式瞭如何配置sga的自動記憶體管理功能,本文繼續學習與此相關的知識;結論
1,sga_target自動調整涉及到一些概念,請參考測試第12,sga_target可以收縮,但與sga採用自動管理與半自動管理,其自動調整元件的表現行為有所不同;前者
各自動調整子元件會相應收縮,而後者則收縮不能小於各子元件指定的最小大小
3,sga收縮是針對其自動調整的子元件,而固定大小的子元件,其大小是一直不變的
4,sga_target與CPU個數的因素也很大
測試
1,sga_target它是可以動態調整的,關於它的動態調整涉及到一些知識:
sga_target只要它的值不超過出sga_max_size,可以動態伸縮擴充套件;如果你收縮了sga_target,資料庫會自動去收縮其sga可以動態調整子元件的記憶體
sga_target的值受幾方面的影響,包含自動調整的子元件,固定大小的子元件,以及CPU的個數
如果你為SGA動態調整子元件指定了最小大小,則你收綜SGA_TARGET則不能小於這些子元件最小大小之和
2,測試下上述的知識,便於加深理解
3,先看SGA全自動記憶體管理方式,如果你收縮SGA_TARGET各子元件的變化情況
收縮前的SGA及各元件的大小
SQL> show parameter sga_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 1104M
sga_target big integer 1008M
SQL> show parameter db_cache
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string OFF
db_cache_size big integer 0
SQL> show parameter _pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 0
streams_pool_size big integer 0
SQL> select name,bytes/1024/1024 as mb,RESIZEABLE as mb from v$sgainfo;
NAME MB MB
-------------------------------- ---------- ---
Fixed SGA Size 1.99871063 No
Redo Buffers 14 No
Buffer Cache Size 768 Yes
Shared Pool Size 112 Yes
Large Pool Size 32 Yes
Java Pool Size 16 Yes
Streams Pool Size 64 Yes
Granule Size 16 No
Maximum SGA Size 1104 No
Startup overhead in Shared Pool 48 No
Free SGA Memory Available 96
11 rows selected.
收縮SGA_TARGET為800M
SQL> alter system set sga_target=800m;
System altered.
SQL> show parameter sga_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 1104M
sga_target big integer 800M
SQL> show parameter _pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 0
streams_pool_size big integer 0
SQL> show parameter db_cache
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string OFF
db_cache_size big integer 0
SQL> select name,bytes/1024/1024 as mb,RESIZEABLE as mb from v$sgainfo;
NAME MB MB
-------------------------------- ---------- ---
Fixed SGA Size 1.99871063 No
Redo Buffers 14 No
Buffer Cache Size 560 Yes --可見收縮SGA_TARGET後動態調整子元件會相應進行收縮
Shared Pool Size 112 Yes
Large Pool Size 32 Yes
Java Pool Size 16 Yes
Streams Pool Size 64 Yes
Granule Size 16 No
Maximum SGA Size 1104 No
Startup overhead in Shared Pool 48 No
Free SGA Memory Available 304
11 rows selected.
4,再看看如果你指定了SGA動態調整子元件最小值,如果你收縮SGA_TARGET又會如何?
---調整前
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 1008M
SQL> show parameter db_cache
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string OFF
db_cache_size big integer 512M
SQL> show parameter _pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_size big integer 352M
streams_pool_size big integer 0
SQL> select name,bytes/1024/1024 as mb,RESIZEABLE as mb from v$sgainfo;
NAME MB MB
-------------------------------- ---------- ---
Fixed SGA Size 1.99871063 No
Redo Buffers 14 No
Buffer Cache Size 528 Yes
Shared Pool Size 352 Yes
Large Pool Size 32 Yes
Java Pool Size 16 Yes
Streams Pool Size 64 Yes
Granule Size 16 No
Maximum SGA Size 1104 No
Startup overhead in Shared Pool 48 No
Free SGA Memory Available 96
11 rows selected.
SQL>
調整後
--根據v$sgainfo可以計算下收縮SGA_TARGET可以最小到哪個值
SQL> select 512+352+2+14+48 as sga_target_actual from dual;
SGA_TARGET_ACTUAL
-----------------
928
--可見928M還不行,說明還有其它的子元件要佔用SGA的大小
SQL> alter system set sga_target=928m;
alter system set sga_target=928m
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00827: could not shrink sga_target to specified value
---雖然指定sga_target為930m,但因為granule,會四捨五入為944m
SQL> alter system set sga_target=930m;
System altered.
SQL> show parameter sga_tar
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 944M
SQL>
--那麼這個sga_target=944m又是如何計算來的呢
SQL> select 2+14+512+352+16+16+32 as mb from dual;
2+14+512+352+16+16+32
---------------------
944
--944m sga_target源自於下述的資料,可見大池,流池,JAVA池等實際使用不可能為0,雖然你指定為0
SQL> select name,bytes/1024/1024 as mb,RESIZEABLE as mb from v$sgainfo;
NAME MB MB
-------------------------------- ---------- ---
Fixed SGA Size 1.99871063 No
Redo Buffers 14 No
Buffer Cache Size 512 Yes --經過收縮後,db_cache_size已經收縮為最小指定的值
Shared Pool Size 352 Yes --同上
Large Pool Size 16 Yes
Java Pool Size 16 Yes
Streams Pool Size 32 Yes
Granule Size 16 No
Maximum SGA Size 1104 No
Startup overhead in Shared Pool 48 No --包含在shared_pool_size中
Free SGA Memory Available 160
11 rows selected.
個人簡介
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-1805316/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle10g sga自動管理amm(補充一)Oracle
- 開啟oracle 10g的sga自動管理-ammOracle 10g
- Oracle 10g SGA 的自動化管理Oracle 10g
- 淺談10G SGA自動管理
- 變更oracle 11.2.0.3 rac sga自動管理為sga手工管理Oracle
- ORACLE AMM 、ASMM 、自動記憶體管理(官方手冊)OracleASM記憶體
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- 變更oracle 11.2.0.3 rac sga手工管理為sga及pga全自動管理Oracle
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN備份使用PGA還是SGAOracle 10g
- oracle 10g 自動共享記憶體管理Oracle 10g記憶體
- 自動SGA共享記憶體管理,ASMM,MMAN,sga_target,sga_max_size記憶體ASM
- assm:Oracle 10g的自動段空間管理SSMOracle 10g
- Oracle 10g的自動段空間管理(ASSM)Oracle 10gSSM
- Oracle11g自動記憶體管理(AMM)相關的初始化引數Oracle記憶體
- oracle SGA配置和管理Oracle
- oracle 10g更改sga最大值Oracle 10g
- Oracle 10g SGA 相關的VIEWOracle 10gView
- jQueryautocomplete自擴充套件外掛、自動補全示例jQuery套件
- Oracle 補充日誌Oracle
- 二分圖補充
- 一階慣性環節的效能分析——自動控制原理基礎補充(二)
- 補丁管理自動化利弊分析(轉)
- oracle 10g中的SGA_MAX_SIZE與SGA_TARGET引數Oracle 10g
- Oracle 記憶體自動管理--關閉自動管理Oracle記憶體
- Oracle ASMM和AMMOracleASM
- oracle 10g的自動統計分析Oracle 10g
- Debian配置Oracle 10g自啟動Oracle 10g
- oracle 11.1.0.6的補充日誌功能預設是no的(跟oracle 10g一樣)Oracle 10g
- 10G新特性筆記之自動管理筆記
- ORACLE 記憶體管理 之四 SGAOracle記憶體
- Oracle 補充日誌(supplemental log)Oracle
- oracle 10g sga手動管理mmm 基於並行查詢parallel query如何配置large_pool_size大池Oracle 10g並行Parallel
- 開機自動啟動Oracle 10g on centos5.6Oracle 10gCentOS
- oracle 10g rac資料庫不能自動啟動Oracle 10g資料庫
- Android熱補丁之Robust(二)自動化補丁原理解析Android
- 教你如何成為Oracle 10g OCP - 第十五章 自動化管理Oracle 10g
- 10g、11g記憶體自動管理記憶體
- ORACLE 10G RAC 升級補丁Oracle 10g