MEMORY_TARGET

MEMORY_TARGET 和 MEMORY_MAX_TARGET 是 Oracle Database 11g 中的两个新参数。这两个参数确定如何对 Oracle 数据库使用自动内存管理功能。Oracle 强烈建议使用自动内存管理功能来管理系统中的内存。通过将这两个参数设置为非零值,Oracle 将启用自动内存管理功能并将内存调整到目标内存大小,根据需要在系统全局区 (SGA) 和实例程序全局区 (PGA) 之间重新分配内存。因此,以下参数将自动设置大小:

SGA_TARGET

SGA_MAX_SIZE

DB_CACHE_SIZE

SHARED_POOL_SIZE

LARGE_POOL_SIZE

JAVA_POOL_SIZE

STREAMS_POOL_SIZE

PGA_AGGREGATE_TARGET

但是,LOG_BUFFER 不受自动内存管理功能控制,仍需手动设置大小。本节稍后讨论如何调整 LOG_BUFFER。

因为 MEMORY_TARGET 会指定 SGA 和 PGA 的总内存大小,所以,应将其设置为相对较高的值才能实现较高性能。Oracle Hyperion Financial Management 合并和报告是内存密集型任务,需要大量内存。鉴于 32 位操作系统在可用地址空间方面存在限制(通常为 2 GB 或 3 GB),Oracle 建议至少将此参数设置为 1.2 GB。通常,值越高,Oracle 数据库性能就越高,因此,应在不超出虚拟地址空间的情况下将此参数设置为尽可能高的值。

建议设置:最小 1.2GB,通常高于 1.2GB(取决于环境)。

决定要分配给 Oracle 11g 实例的内存量时,请查看此部分:“如何计算 Oracle Database 11g 的进程数”。