1.Oracle內存管理技術
- 11g 新特性: AMM(Automatic Memory Management)
- 10g 新特性: ASMM(Automatic Shared Memory Management)
Tips:
- 即便啟動了AMM,仍然可以將相關的內存初始化參數設置為下限值,防止Oracle自動調整為低值或零值。
- Oracle11g 建議使用AMM配置新數據庫,然后監視總體內存分配的效果,后續可以將數據庫切換到ASMM,以便更精准的控制SGA的總大小。
2.配置自動內存管理(AMM)
-- memory_max_target是靜態參數,是memory_target的上限,修改需要重啟庫
SQL> alter system set memory_max_target = 3G scope=spfile;
SQL> shutdown immediate
SQL> startup
-- 配置AMM,memory_target值
SQL> alter system set memory_target = 2G;
-- 為更好的發揮AMM調整作用,設置下面參數為零值
SQL> alter system set sga_target = 0;
SQL> alter system set pga_aggregate_target = 0;
3.監視自動內存管理(AMM)
## 3.1 通過EM查看 ## EM主頁:服務器(Server) -> 數據庫配置(Database Configuration) -> 內存指導(Memory Advisors) ## 3.2 直接查詢動態性能視圖 ## ``` SQL> select * from v$memory_target_advice order by memory_size;MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR VERSION
768 .25 402 1 1
1536 .5 402 1 1
2304 .75 402 1 1
3072 1 402 1 1
3840 1.25 402 1 1
4608 1.5 402 1 1
5376 1.75 402 1 1
6144 2 402 1 1
8 rows selected.
<h1 id="4">4.配置自動共享內存管理(ASMM)</h1>
## 4.1 從手動內存管理切換到ASMM ##
-- 從手動內存管理切換到ASMM
alter system set sga_target = 1G;
-- 為更好的發揮ASMM作用,設置下面參數為零值
SQL> alter system set shared_pool_size = 0;
SQL> alter system set db_cache_size = 0;
SQL> alter system set java_pool_size = 0;
SQL> alter system set large_pool_size = 0;
SQL> alter system set streams_pool_size = 0;
## 4.2 從AMM切換到ASMM ##
-- 從AMM切換到ASMM,會根據當前SGA內存使用情況自動設置SGA_TARGET
alter system set memory_target = 0;
## 4.3 禁用ASMM ##
--下面命令使得所有初始化參數被設置為當前自動調整的值,禁用ASMM
alter system set sga_target = 0;
## 4.4 ASMM需要手工調整下面的參數 ##
ASMM只可以自動調整4.1中設置為零值的5個參數大小,而剩下的需要手工調整
-- DB_KEEP_CACHE_SIZE
-- DB_RECYCLE_CACHE_SIZE
-- DB_nK_CACHE_SIZE
-- LOG_BUFFER
手工設置這些參數值,會從SGA_TRAGET指定的內存中減去這些內存量。
<h1 id="5">5.配置自動PGA內存管理</h1>
PGA_AGGREGATE_TARGET的值可以由AMM推出來,也可以明確設置。
--PGA設置起點
Oracle單實例可用內存設置為占機器物理內存的80%
OLTP(在線事務處理):PGA占可用內存的20%
DSS(查詢使用大量內存):PGA占可用內存的50%~70%
--查詢pga相關動態視圖
select * from v$pgastat;
select PGA_USED_MEM, PGA_ALLOC_MEM, PGA_FREEABLE_MEM, PGA_MAX_MEM from v$process;
更多PGA相關可參考:《[相克軍_Oracle體系_隨堂筆記007-PGA](http://www.cnblogs.com/jyzhao/p/3819372.html)》
<h1 id="6">Reference</h1>
- OCP 認證考試指南 (1Z0-053)[M]. 清華大學出版社, 2010.