Oracle11g sga内存
一、设置内存
设置oracle内存和MEMORY_MAX_TARGET, memory_target有关
MEMORY_MAX_TARGET, memory_target的设置不能超过 /dev/shm 的大小:
注意:如果不确定大小请看第三条
Linux下Oracle用户
Sqlplus / as sysdba
SHOW PARAMETERS memory_target //查看语句
SHOW PARAMETERS MEMORY_MAX_TARGET //查看语句
show sga //查看SGA的具体大小信息。
show parameter sga_max_size //查看SGA最大值
show parameter db_cache //查看数据缓存
show parameter java_pool_size
show parameter large_pool_size
SHOW PARAMETERS SHARED_POOL_SIZE //查看共享内存
设置MEMORY_MAX_TARGET 和memory_target的大小
注意:此时的大小根据自己拥有的内存配置,不要直接粘贴
Alter system set MEMORY_MAX_TARGET=3000m scope=spfile;
Alter system set memory_target=3000m scope=spfile;
设置sga和pga的大小
Alter system set sga_target=2000m scope=spfile;
Alter system set pga_aggregate_target=1000m scope=spfile;
Linux下Oracle用户
Sqlplus / as sysdba
重启
- sql>shutdown immediate
- sql>startup
- 查看共享内存
查看共享段的内存大小
select pool,sum(bytes)/1024/1023 || ‘MB’ from v$sgastat where pool is not null group by pool;
======================================================================================================================================================
二、单独设置共享段内存
以上操作完成后不需要在单独设置共享段得内存大小,系统会自己分配,如果需要设置请往下看
查看设置共享内存的最优大小
select ‘shared pool’ component,
shared_pool_size_for_estimate estd_sp_size,
estd_lc_time_saved_factor parse_time_factor,
case when current_parse_time_elapsed_s + adjustment_s < 0
then 0
else current_parse_time_elapsed_s + adjustment_s
end response_time
from ( select a.shared_pool_size_for_estimate,
a.estd_lc_time_saved_factor,
a.estd_lc_time_saved,
e.value/100 current_parse_time_elapsed_s,
c.estd_lc_time_saved - a.estd_lc_time_saved adjustment_s
from v s h a r e d p o o l a d v i c e a , ( s e l e c t ∗ f r o m v shared_pool_advice a, (select * from v sharedpooladvicea,(select∗fromvsysstat where name =‘parse time elapsed’) e,
(select estd_lc_time_saved
from v$shared_pool_advice
where shared_pool_size_factor = 1) c
);
取第一行的大小为最优数据
ALTER SYSTEM SET SHARED_POOL_SIZE=1000M SCOPE=spfile; //共享内存240
三、错误ORA-00845
MEMORY_MAX_TARGET, memory_target的设置不能超过 /dev/shm 的大小:
如果本地内存过小会遇到错误ORA-00845: MEMORY_TARGET not supported on this system,建议先看自己的内存大小,设置的值一定不要超过自己的内存大小
Su – root
df -h | grep shm //查看本地为2.0G 可以执行语句增加
cat /etc/fstab | grep tmpfs
mount -o remount,size=7G /dev/shm //执行后为7G
df -h | grep shm
如下所示使用百分之二十六,建议不超过百分之七十