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的非标准数据块设置高速缓存大小