Several minor issues with Oracle Automatic Memory Management (1) after automatic memory management is enabled, what if the pool value is set to a non-0 value? For example, if sga_target = 10G is set, but java_pool_size is set to 10 m, 10 m will be allocated as the minimum memory space of the java pool. If these automatically tuned memory pools had been set to nonzero values, those values are used as minimum levels by Automatic Shared Memory Management. you wocould set minimum values if an application component needs a minimum amount of memory to function properly. 2) After automatic management is disabled, the related pool values are automatically set. If you dynamically disable SGA_TARGET by setting its value to 0 at instance startup, Automatic Shared Memory Management will be disabled and the current auto-tuned sizes will be used for each memory pool.
01sys@HUA>show parameter memory;0203NAME TYPE VALUE04------------------------------------ ----------- ------------------------------05hi_shared_memory_address integer 006memory_max_target big integer 007memory_target big integer 008shared_memory_address integer 009sys@HUA>show parameter sga1011NAME TYPE VALUE12------------------------------------ ----------- ------------------------------13lock_sga boolean FALSE14pre_page_sga boolean FALSE15sga_max_size big integer 440M16sga_target big integer 440M17sys@HUA>alter system set sga_target=0;1819System altered.2021sys@HUA>show parameter pool;2223NAME TYPE VALUE24------------------------------------ ----------- ------------------------------25_shared_io_pool_size big integer 026buffer_pool_keep string27buffer_pool_recycle string28global_context_pool_size string29java_pool_size big integer 4M30large_pool_size big integer 8M31olap_page_pool_size big integer 032shared_pool_reserved_size big integer 754974733shared_pool_size big integer 208M34streams_pool_size big integer 035sys@HUA>alter system set sga_target=440;3637System altered.3839sys@HUA>show parameter pool;4041NAME TYPE VALUE42------------------------------------ ----------- ------------------------------43_shared_io_pool_size big integer 044buffer_pool_keep string45buffer_pool_recycle string46global_context_pool_size string47java_pool_size big integer 4M48large_pool_size big integer 8M49olap_page_pool_size big integer 050shared_pool_reserved_size big integer 754974751shared_pool_size big integer 208M52streams_pool_size big integer 053sys@HUA>alter system set java_pool_size=0;5455System altered.5657sys@HUA>alter system set large_pool_size=0;5859System altered.6061sys@HUA>alter system set shared_pool_size=0;6263System altered.6465sys@HUA>66sys@HUA>show parameter pool;6768NAME TYPE VALUE69------------------------------------ ----------- ------------------------------70_shared_io_pool_size big integer 071buffer_pool_keep string72buffer_pool_recycle string73global_context_pool_size string74java_pool_size big integer 075large_pool_size big integer 076olap_page_pool_size big integer 077shared_pool_reserved_size big integer 754974778shared_pool_size big integer 079streams_pool_size big integer 080sys@HUA>81sys@HUA>82sys@HUA>alter system set sga_target=0;8384System altered.8586sys@HUA>show parameter pool;8788NAME TYPE VALUE89------------------------------------ ----------- ------------------------------90_shared_io_pool_size big integer 091buffer_pool_keep string92buffer_pool_recycle string93global_context_pool_size string94java_pool_size big integer 4M95large_pool_size big integer 8M96olap_page_pool_size big integer 097shared_pool_reserved_size big integer 754974798shared_pool_size big integer 208M99streams_pool_size big integer 0
3) Is there any component in SGA, but not in the Automatic Memory Management? The following pools are manually sized components and are not affected by automation Shared Memory Management: * Log buffer * Other buffer caches (such as KEEP, RECYCLE, and other nondefault block size) * Fixed SGA and other internal allocations To manually size these memory pools, you must set the DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZE, DB_nK_CACHE_SIZE, and LOG_BUFFER initialization parameters. The memory allocated to these pools is deducted from the total available for SGA_TARGET when Automatic Shared Memory Management computes the values of the automatically tuned memory pools. 4) What is the unit for "borrow" memory space between components? Is it one byte for allocation? Memory for the shared pool, large pool, java pool, and buffer cache is allocated in units of granules. the granule size is 4 MB if the SGA size is less than 1 GB. if the SGA size is greater than 1 GB, the granule size changes to 16 MB. the granule size is calculated and fixed when the instance starts up. the size does not change during the lifetime of the instance. the granule size that is currently be Ing used for SGA can be viewed in the view V $ SGA_DYNAMIC_COMPONENTS. the same granule size is used for all dynamic components in the SGA. 5) If Automatic Memory Management is used and the value of each pool is set to 0, how can I view the current value of each pool? V $ MEMORY_DYNAMIC_COMPONENTS displays information about the current sizes of all dynamically tuned memory components, including the total sizes of the SGA and instance PGA.