To increase memory in oracle database, we must first understand four oracle memory parameters which govern the instance.
They are as Follows :
SGA_TARGET.
SGA_MAX_SIZE.
MEMORY_TARGET.
MEMORY_MAX_TARGET
SGA_TARGET : The SGA_TARGET defines the total size of SGA.SGA_TARGET parameter is a dynamic parameter. Syntax to check SGA_Target & to reset its vaule is given below :
show parameter sga_target;
alter system set sga_target = 10G;
2. SGA_MAX_SIZE :
SGA_MAX_SIZE define the total max RAM SGA_TARGET can take.
SGA_MAX_SIZE is a static parameter and cannot be changed immediately
Example, if server RAM is 10 GB, SGA_TARGET is 3 GB and SGA_MAX_SIZE is 5 GB. This means that during heavy workloads, Oracle can max assign 5 GB RAM to SGA.
show parameter sga_max_size;
alter system set sga_max_size = 12G scope=spfile;
3. MEMORY_TARGET : If You allocate MEMORY_TARGET parameter and oracle will handle both SGA + PGA.
MEMORY_TARGET is a dynamic parameter. 60% of memory mentioned in MEMORY_TARGET is allocated to SGA and rest 40% is kept for PGA
show parameter memory_target;
alter system set memory_target = 5G;
4. MEMORY_MAX_TARGET :MEMORY_MAX_TARGET defines the maximum value MEMORY_TARGET can assign.
MEMORY_MAX_TARGET is a static parameter.
show parameter memory_max_target;
alter system set memory_max_target = 7G scope=spfile;