|
内存分配的较佳方案:SGA占50%的物理内存,PGA和操作系统各占25%的物理内存。当然这也不是绝对的,但是SGA占的物理内存不能超过75%,最多只能占70%,否则Oracle可能会出现各种的异常。
1、查看操作系统物理内存大小:free -m
2、查看参数sga_target的值,若为0,表示没有开启自动管理模式;
SQL> show parameter sga_target;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 0
2、设置为自动管理后,内存大小由如下新的参数值代替
__SHARED_POOL_SIZE,
__JAVA_POOL_SIZE,
__LARGE_POOL_SIZE,
__DB_CACHE_SIZE.
3、自动管理与手工管理的关系:
在自动管理模式下,其他参数值为0,表示这些参数大小为自动管理。若其他参数值不为0,表示这些值为自动管理中的最小值。
4、SGA自动管理操作如下
a)、检查参数 statistics_level,值需为typical或All
show parameter statistics_level;
b)设置sga_target为非0值且小于sga_max_size,sga_target非0表示开启SGA自动管理;
alter system set sga_max_size=1G scope=spfile;
alter system set sga_target=1G scope=spfile;
c)设置其他参数值为0,其他参数值自动分配
alter system set shared_pool_size=0 scope=spfile;
alter system set large_pool_size=0 scope=spfile;
alter system set java_pool_size=0 scope=spfile;
alter system set db_cache_size=0 scope=memory;
alter system set streams_pool_size=0 scope=memory;
|
|