Debian上Oracle内存调优实操指南
一 基线评估与容量规划
二 选择内存管理模式与参数落地
| 模式 | 启用方式 | 适用场景 | 注意点 |
|---|---|---|---|
| AMM(自动内存管理) | 设置MEMORY_TARGET(可选设MEMORY_MAX_TARGET);同时将SGA_TARGET=0、PGA_AGGREGATE_TARGET=0 | 希望简化运维、自动在SGA与PGA间调配 | 与HugePages不兼容,若需HugePages请改用ASMM/手动SGA |
| ASMM(自动共享内存管理) | MEMORY_TARGET=0;设置SGA_TARGET>0;PGA用PGA_AGGREGATE_TARGET或自动 | 需要自动调优SGA内部组件 | 11g后常用;可与HugePages配合 |
| 手动SGA | SGA_TARGET=0;显式设置DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE、LOG_BUFFER等 | 精细控制、特殊负载 | 维护成本高,需持续观测与回退预案 |
| 参数 | 作用 | 生效范围 | 备注 |
|---|---|---|---|
| MEMORY_TARGET | SGA+PGA总目标内存 | 动态(≤MEMORY_MAX_TARGET) | 启用AMM |
| MEMORY_MAX_TARGET | 内存上限 | 静态(需重启) | 规划好上限 |
| SGA_TARGET | SGA总目标 | 动态(≤SGA_MAX_SIZE) | 启用ASMM |
| SGA_MAX_SIZE | SGA上限 | 静态(需重启) | 启动后不可降 |
| PGA_AGGREGATE_TARGET | PGA合计目标 | 动态 | 启用PGA自动管理 |
| PGA_AGGREGATE_LIMIT | PGA硬上限 | 静态 | 11gR2+,防止PGA膨胀 |
| WORKAREA_SIZE_POLICY | 工作区策略 | 动态 | 建议AUTO |
三 Linux与Debian系统层优化
四 监控与迭代优化