查询当前参数设置
SQL> show parameter sga
SQL> show parameter pga
SQL> show parameter memory
参数说明
sga_target 期望的sga大小
sga_max_size 最大sga大小
pga_aggregate_target 期望的pga大小
pga_aggregate_limit 最大pga大小
设置原则
sga_target不能大于sga_max_size,可以设置相等
sga_max_size与pga_aggregate_target的总和一般设置为不超过系统内存的80%
sga:pga(sga_max_size:pga_aggregate_target)的比例按4:1算
pga_aggregate_target一般为系统的10-20%
pga_aggregate_limit是pga_aggregate_target的2倍
pga_aggregate_limit不能大于(总物理内存-SGA)*120%,否则会报错
内存分配方案
物理总内存:TOTAL=100%
分配给数据库内存:DB=80%
分配给操作系统内存:OS=20%
SGA:PGA=4:1
sga_max_size:SGA=DB*80%=64%
sga_max_target:=SGA
pga_aggregate_target:PGA=DB*20%=16%
pga_aggregate_limit:PGA*2=32% < (TOTAL-SGA)*120%=43.2%
调整SGA大小
alter system set sga_max_size=140g scope=spfile; #需要重启数据库
alter system set sga_target=140g scope=spfile; #不需重启数据库
调整PGA大小
alter system set pga_aggregate_target=40g scope=spfile; #不需要重启数据库
alter system set pga_aggregate_limit=80g scope=spfile; #不需要重启数据库
刷新系统参数
alter system reset db_cache_size scope=spfile; #不需要重启数据库
alter system reset shared_pool_size scope=spfile; #不需要重启数据库