久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

AMM與ASMM相關知識點有哪些

152次閱讀
沒有評論

共計 3496 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章主要講解了“AMM 與 ASMM 相關知識點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“AMM 與 ASMM 相關知識點有哪些”吧!

一、AMM 相關知識:
1. 從 oracle 11.1 開始 oracle 提供了通過 MEMORY_TARGET 參數實現自動 SGA 和 PGA 自動管理的功能,從此版本開始不再需要明確設置 SGA_TARGET 及 PGA_AGGREGATE_TARGET,這個被支持在 linux、windows、solaris、hpux、aix。
2. 在使用 MEMORY_TARGET 參數的 linux 機器上,在 oracle 啟動時遇到 ORA-00845 是由于 /dev/shm 的大小小于 memory_target 所致(df -k /dev/shm),如果設置 memory_max_target memory_target,則需要確保 /dev/shm 至少 memory_max_target
3. 從 11.1.0.6.0 開始 ASM 實例默認實現自動管理 SGA 及 PGA,(禁用 ASM 實例的自動內存管理,必須手動設置 memory_target 到 0,DBCA 界面將不支持此更改,這個 bug 被修正在 11.1.0.7.0)
4.10.1 版本之前 shared pool 在 SGA 中分配的大小 =shared_pool_size+ 內部 SGA 的開銷,此開銷被用來維護 SGA 中各組件的狀態,從 10.1 開始 shared_pool_size 將包括內部 SGA 的開銷
5. 在手動內存管理模式下,由于 shared_pool_size 太小不足以容納內部 SGA 開銷將導致 ORA-00371
6. 在非 windows32 位的操作系統上 SGA_MAX_SIZE 默認被設置為 memory_target 和 memory_max_target 中的最大值,在 windows32 操作系統上 sga_max_size=60%memory_target+60%memory_max_target+25% 可用虛擬地址空間
7. 當 lock_sga 初始化參數被設置為 true 時將不能啟用自動內存管理

二、啟用、配置 AMM:
SQL show parameter lock_sga  —— 確保 lock_sga 為 false
SQL show parameter target  —— 確定當前 SGA_TARGET 及 PGA_AGGREGATE_TARGET 的值
SQL select value from v$pgastat where name= maximum PGA allocated — 確定從上次啟動 DB 后的最大實例的 PGA
memory_target = sga_target + max(pga_aggregate_target, maximum PGA allocated)
為 MEMORY_MAX_TARGET 確定一個盡可能大的值,等于或大于 SGA_TARGET
當 DB 使用 spfile 時:ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE;  當 DB 使用 pfile 時: 編輯 pfile 設置 memory_max_target = nM  memory_target = mM
關閉并重啟 DB
ALTER SYSTEM SET MEMORY_TARGET = nM;  ALTER SYSTEM SET SGA_TARGET = 0;  ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
——-!!! 如果你在 pfile 中設置了 MEMORY_TARGET 沒有設置 MEMORY_MAX_TARGET,則數據庫自動設置 MEMORY_MAX_TARGET 值為 MEMORY_TARGET 的值
——-!!! 如果你在 pfile 中設置了 MEMORY_MAX_TARGET 而沒有設置 MEMORY_TARGET,則 MEMORY_TARGET 默認為 0,在 DB 啟動后可以動態改變 MEMORY_TARGET 不超過 MEMORY_MAX_TARGET 的值
——-!!! 也可以設置 SGA_TARGET 或 PGA_AGGREGATE_TARGET 為一個非 0 的值,這個值將作為 SGA 或 PGA 分配的最小值

三、監視、優化 AMM:
SQL select * from v$memory_target_advice order by memory_size;
——-MEMORY_SIZE_FACTOR 表示假設替代的 MEMORY_TARGET 大小
——-ESTD_DB_TIME 表示在此預計的 MEMORY_TARGET 大小下所需的 DB time

二、ASMM 相關知識:

1.SGA_MAX_SIZE 設置: 如果不設置則 oracle 在初始化的時候將選擇所有指定組件的總和或者默認值,如果設置的值比分配給所有組件的內存小,那么數據庫將忽略此設置的值
2.SGA_TARGET 設置: 在設置之前,同時為了啟用自動共享內存管理的功能,STATISTICS_LEVEL 必須被設置為 TYPICAL (the default) 或 ALL,如果此參數被設置那么必須設置自動調整大小的組件的大小為 0 或最小值
3.SGA 中能自動調整大小的組件:Fixed SGA、SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZE、STREAMS_POOL_SIZE
4.SGA 中不能自動調整(固定) 大小的組件:LOG_BUFFER、DB_KEEP_CACHE_SIZE、DB_RECYCLE_CACHE_SIZE、DB_nK_CACHE_SIZE
5.SGA 中分配內存的單位: 在 SGA 中動態分配各組件大小的最小單元是顆粒,通常來說在多數平臺上如果 SGA 的大小 =1G, 則顆粒大小是 4M,SGA 1G, 則顆粒大小為 16M(32 位 NT 上 SGA 1G, 則顆粒大小為 8M)
6. 查詢 V$SGAINFO 或 V$SGA_DYNAMIC_COMPONENTS 看顆粒的大小,如果手動給 SGA 中組件分配的內存不是顆粒的倍數,則 DB 實際給該組件分配 (四舍五入到最小粒度的倍數) 大于分配值為其顆粒倍數的是小值
7.SGA_MAX_SIZE 不能被動態修改

三、啟用、配置 ASMM:
從 MSMM 到 ASSM:
1. 獲得 SGA_TARGET 的值 SELECT ((SELECT SUM(value) FROM V$SGA) – (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY)) SGA_TARGET FROM DUAL;
2. 修改 pfile 中 sga_target 的值并重啟 DB, 或者 ALTER SYSTEM SET SGA_TARGET=value [SCOPE={SPFILE|MEMORY|BOTH}]
3. 通過修改 pfile 中各自動調優組件對應的初始化參數的值為 0 或最小分配量,或者 alter system set %_size=0——————期望的最小值
從 AMM 到 ASMM:
1.ALTER SYSTEM SET MEMORY_TARGET = 0
2. 通過修改 pfile 中各自動調優組件對應的初始化參數的值為 0 或最小分配量,或者 alter system set %_size=0- 期望的最小值
——— 啟用 ASMM 后可以動態調整相應自動調整組件的最小值,該值只限制該組件大小不能減小到此值以下,但不限制組件的最大值
——— 動態設置 sga_target 一個非 0 值之前,也就是啟用 ASMM 之前最好重啟 DB,因為共享池不能被動態收縮,因為其中含有一些打開的游標、PL/SQL 包及 sql 的執行狀態
——— 手動調整大小的組件也可以動態改變,但增加或減少的相應值都從自動調整大小組件中動態獲取或釋放,而且設置的是一個精確的值

四、監視、優化 ASMM:
SQL select * from v$sga_target_advice order by sga_size;
五、建議參考 (from Yong Huang):
配置總大小時參考如下:
在現在操作系統內存比較充足的情況下,初始一般將 shared pool 設置為 1 至 3G, 其余的分配給 buffer cache
10gASMM 中 db_cache_size 至少 2G
11g 中將禁用 AMM 使用 ASMM,因為能夠使用大的緩沖頁

感謝各位的閱讀,以上就是“AMM 與 ASMM 相關知識點有哪些”的內容了,經過本文的學習后,相信大家對 AMM 與 ASMM 相關知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-20發表,共計3496字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 彰武县| 乐安县| 通许县| 泗阳县| 宁津县| 上犹县| 宁强县| 高陵县| 屏南县| 乐平市| 抚宁县| 双柏县| 汉寿县| 肇东市| 措美县| 辉南县| 云安县| 特克斯县| 辽源市| 汉源县| 甘孜县| 都江堰市| 余干县| 嘉禾县| 兴宁市| 万源市| 辉县市| 怀集县| 芜湖市| 洪洞县| 右玉县| 银川市| 栾城县| 中超| 旬邑县| 巫溪县| 河北省| 株洲县| 隆化县| 望城县| 班戈县|