oracle AMM、ASMM區別以及相關用法


AMM:automatic memory management自動內存管理

手動設置

total memory size for this instance

maximum memory size for this instance

數據庫自動分配

total sga size

sga component sizes

instance pga size

individual pga sizes

即讓數據庫完全管理SGA、PGA的大小,而對於管理員只需要設置一個總的大小(memory_target),數據庫會動態的調整SGA、PGA的大小以及其中包含的各個組件大小,如Database buffer cache、Shared pool等等。

1.獲取PGA分配的最大值

select value/1024/1024 || 'M' from v$pgastat where name='maximum PGA allocated';

2.獲取memory_target

計算公式:memory_target = sga_target + max(pga_aggregate_target, maximum PGA allocated)

AMM內存調優

select * from v$memory_target_advice order by memory_size;

當MEMORY_SIZE_FACTOR為 1 時MEMORY_SIZE的值,即一般認為比較合理的MEMORY_TARGET的值。

ASMM:automatic shared memory management自動共享內存管理

手動設置

sga target size

sga maximum size

instance pga target size

數據庫自動設置

sga component sizes

individual pga sizes

即設置一個SGA的目標值以及SGA的最大值,數據庫來動態調整其中的各個組件,如Database buffer cache、Shared pool等等。

SGA_TARGET SGA設置目標值 初始值建議為:(total_mem * 0.7) * 0.8,后續需要定期分析系統做適應性調整
PGA_AGGREGATE_TARGET PGA設置目標值 (total_mem * 0.7) * 0.2,后續需要定期分析系統做適應性調整
SGA_MAX_SIZE SGA設置最大值 初始值建議為:(total_mem * 0.7) * 0.8,后續需要定期分析系統做適應性調整
DB_CACHE_SIZE 數據庫緩存大小建議設置一個最小值,初始為SGA的50%左右,具體值需要根據物理內存大小、SGA大小而確定,后續需要定期分析系統做適應性調整
SHARED_POOL_SIZE 共享池大小 建議設置一個最小值,具體值需要根據物理內存大小、SGA大小而確定,后續需要定期分析系統做適應性調整
MEMORY_TARGET AMM管理設置內存大小 建議值0(11G及以后版本)

使用ASMM並禁用AMM

alter system set sga_target=2048M scope=spfile sid='*';

alter system set pga_aggregate_target=1024M scope=spfile sid='*';

alter system set memory_target=0 scope=spfile sid='*';

alter system set memory_max_target=0 scope=spfile sid='*';

alter system reset memory_max_target scope=spfile sid='*';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM