4.4.3 手工共享内存管理

这种内存管理方法很好理解,SGA中每种缓冲区的大小都需要手工设置,SGA的总大小就是这些缓冲区之和。如果SGA设置过大,操作系统可用的内存将减少,这时将使用交换空间,把SGA的一部分数据放到交换空间中,这样会降低数据库的性能。可以把初始化参数LOCK_SGA的值设置为TRUE,这样就可以把SGA锁定在物理内存中。

为了使用手工共享内存管理,需要把以下初始化参数的值设置为0。


MEMORY_MAX_TARGET

MEMORY_TARGET

SGA_TARGET

PGA_AGGREGATE_TARGET


以下参数需要根据实际情况进行适当的设置:

SHARED_POOL_SIZE 用于设置共享池的大小

DB_CACHE_SIZE 用于设置数据库高速缓存的大小

LOG_BUFFER 用于设置重做日志缓冲区的大小

LARGE_POOL_SIZE 用于设置大池的大小

JAVA_POOL_SIZE 用于设置Java池的大小

DB_KEEP_CACHE_SIZE 用于设置KEEP缓冲池的大小

DB_RECYCLE_CACHE_SIZE 用于设置RECYCLE缓冲池的大小

DB_nK_CACHE_SIZE 用于为nK的非标准数据块设置高速缓存大小