The SGA size for Oracle 10g library startup is determined by Sga_target and Sga_max_size and is discussed in the following three scenarios
Sga_target=sga_max_size
Parameter file specified value
*.sga_target=599785472
Start
SQL> startupORACLE instance started.Global Area 599785472bytesFixed Size 2022632bytesVariable Size 171967256bytesDatabase Buffers 423624704bytesRedo Buffers 2170880bytesDatabase mounted.Database opened.
Sga_target < Sga_max_size
Parameter file specified value
*.sga_max_size=800m*.sga_target=700m
Start the database
sql> startuporacle Instance Started Total System global area 838860800 bytes Fixed Size 2024496 bytes< /span>variable Size 297798608 bytes Database buffers 536870912 Bytes Redo buffers 2166784 bytes datab ASE Mounted Database opened
SQL> select 838860800/1024/1024 from dual;838860800/1024/1024------------------- 800SQL> show parameter sga_NAME TYPE VALUE------------------- ----------- -----------------------sga_max_size big integer 800Msga_target big integer 700M
Sga_target>sga_max_size
Parameter file specified value
*.sga_max_size=600m*.sga_target=700m
And the size of the database actually started
sql> startuporacle Instance Started Total System global area 734003200 bytes Fixed Size 2023656 bytes< /span>variable Size 192941848 bytes Database buffers 536870912 Bytes Redo buffers 2166784 bytes datab ASE Mounted Database opened
SQL> select 734003200/1024/1024 from dual;734003200/1024/1024------------------- 700SQL> show parameter sga_ NAME TYPE VALUE------------------------------------ ----------- ------------------------------sga_max_size big integer 700Msga_target big integer 700M
Experimental Conclusion
As can be seen from the above three experiments, the size of the SGA at database startup is determined by the larger values in Sga_target and sga_max_size
When Sga_target <= sga_max_size, the sga_max_size shall prevail.
When Sga_target > Sga_max_size, the value of Sga_target is given to sga_max_size and then to Sga_max_size
SGA size at Oracle 10G startup