王科提供的64位8G内存情况下Oracle内存配置
如果 目标机器为 8G 物理内存 ,则考虑这样
OS : 2G + ORACLE : 6G = 8G
OS : 2G + ORACLE : 6G = 8G
OS : 1/3 + ORACLE : 2/3 = ALL MEM
建议:oracle使用系统总内存的75%
则ORACLE 的内存分配策略建议为:
SGA : 4.5 G + PGA : 1.5 G = 6G
SGA : 4.5 G + PGA : 1.5 G = 6G
SGA : 75% + PGA : 25% = ORACLE MEM
SGA 的组成部分建议为:
SGA 4.5G = JAVA_POOL(java_pool_size) : 16M + LARGE_POOL (large_pool_size) : 16M + LOG_BUFFER (log_buffer) : 2M +
SGA 4.5G = JAVA_POOL(java_pool_size) : 16M + LARGE_POOL (large_pool_size) : 16M + LOG_BUFFER (log_buffer) : 2M +
SHARED POOL(shared_pool_size) : 350M(每4个cpu一个池,每个池应该在150M左右) + DB_CACHE(db_cache_size) : 4G
SGA MEM = JAVA_POOL(java_pool_size) : 16M + LARGE_POOL (large_pool_size) : 16M + LOG_BUFFER (log_buffer) : 2M +
SHARED POOL(shared_pool_size) : 350M(8CPU,则SHARED_POOL 会被划成2个小池,所以,每个小池应该在150M左右,则总体给一350M,应该是OK的) + DB_CACHE(db_cache_size) : 89%
PGA 1.5 G : pga_aggregate_target : 1.5 G
指令如下:
SQL > conn / as sysdba ;
SQL> alter system set java_pool_size = 16m scope = spfile ;
SQL> alter system set large_pool_size = 16m scope = spfile ;
SQL> alter system set log_buffer = 1572864 scope = spfile ;
SQL> alter system set shared_pool_size = 350m scope=spfile ;
SQL> alter system set db_cache_size = 4096m scope = spfile ;
SQL> alter system set pga_aggregate_target = 1500m scope=spfile ;
SQL> shutdown immediate;
SQL> startup ;
SQL> alter system set java_pool_size = 16m scope = spfile ;
SQL> alter system set large_pool_size = 16m scope = spfile ;
SQL> alter system set log_buffer = 1572864 scope = spfile ;
SQL> alter system set shared_pool_size = 350m scope=spfile ;
SQL> alter system set db_cache_size = 4096m scope = spfile ;
SQL> alter system set pga_aggregate_target = 1500m scope=spfile ;
SQL> shutdown immediate;
SQL> startup ;