Oracle:自动共享内存管理(Automatic Shared Memory Management, ASMM)

Oracle 的 9i/10g 中已经对内存管理逐步做了很大的简化,自动共享内存管理(Automatic Shared Memory Management, ASMM)分配一个总的大小,Oracle决定database buffer cache,shared pool,large pool,and java pool.

SGA_TARGET != 0 ,(set SGA_TARGET =0 disables automatic shared memory management)

STATISTICS_LEVEL = TYPICAL/ ALL .

 

 

 

11g 则更进一步,引入了一个新的概念自动化内存管理(Automatic Memory Management,AMM) . 如果 DBA 真的想偷懒的话,只需要设定两个参数就可以把烦心的事情都交给 Oracle 折腾了(只要 DBA 足够心宽)。PGA 与 SGA 一起搞定。这两个参数分别是:

MEMORY_TARGET--操作系统的角度上 Oracle 所能使用的最大内存值。动态参数
MEMORY_MAX_TARGET--MEMORY_TARGET所能设定的最大值。非动态可调。

 

 

AMM 在后台会启动一个内存管理(Memory Manager, mman)进程。

因为 AMM 的引入,Oracle 内存管理更加灵活多样。 组合出来有 5 种内存管理形式.

  • 自动内存管理
  • 自动共享内存管理
  • 手工共享内存管理
  • 自动 PGA 管理
  • 手动 PGA 管理

 

你可能感兴趣的:(oracle,cache)