I have an Oracle 11.2.0.1 database using dynamic memory allocation with parameter MEMORY_TARGET
. When I decrease it with SCOPE=BOTH, the size of the SGA doesn't seem to decrease along with it. I have tested this on multiple systems. Here is an example
SQL> show parameter memory_targetNAME TYPE VALUE------------------------------------ ----------- -------------------------memory_target big integer 820MSQL> sho sgaTotal System Global Area 855982080 bytesFixed Size 2180544 bytesVariable Size 520096320 bytesDatabase Buffers 327155712 bytesRedo Buffers 6549504 bytesSQL> alter system set memory_Target=720M scope=both;System altered.SQL> show sgaTotal System Global Area 855982080 bytesFixed Size 2180544 bytesVariable Size 520096320 bytesDatabase Buffers 327155712 bytesRedo Buffers 6549504 bytesSQL> show parameter memory_target;NAME TYPE VALUE------------------------------------ ----------- -------------------------memory_target big integer 720MSQL>
However, after I bounce the instance, the SGA seems to size itself appropriately.
SQL> sho sgaTotal System Global Area 751595520 bytesFixed Size 2179536 bytesVariable Size 415239728 bytesDatabase Buffers 327155712 bytesRedo Buffers 7020544 bytesSQL>