Automatic Memory Management ( AMM )
Automatic Memory Management allows both SGA and PGA memory to be allocated automatically by Oracle.
Oracle 9i -> PGA_AGGREGATE_TARGET parameter -> PGA automated
Oracle 10g -> SGA_TARGET -> SGA automated.
Oracle 11g -> MEMORY_TARGET -> ( PGA + SGA ) automated.
AMM uses two parameters MEMORY_TARGET and MEMORY_MAX_TARGET.
MEMORY_TARGET : Dynamic parameter that specifies the amount of memory that is currently available to the instance. The default value is "0".
MEMORY_MAX_TARGET: Static parameter that specifies the maximum amount of memory the instance can ever use. It defaults to MEMORY_TARGET setting.
AMM manages all SGA + PGA memory together, allowing it to shift memory from SGA to PGAs and vice versa. You only need to set a MEMORY_TARGET. If PGA requires memory , oracle releases some SGA memory to OS and server processes are allowed to increase their aggregate PGA size up to the amount of memory released.
Oracle 11g is using a new mechanism for managing shared memory which is shared file system concept. AMM memory segments are memory mapped files in /dev/shm.
11g memory management = SGA auto tune + PGA auto tune
How to enable AMM :
1) Set the following init.ora parameters
MEMORY_TARGET= xx G --> set <= memory_max_target
2) Bounce database to effect the above values ( memory_max_target is static parameter )
( More internal concepts about how this AMM is working with shared memory file system will be covered in another article )
Important AMM Views
V$MEMORY_CURRENT_RESIZE_OPS -> provide information on current and previous component resize operations.
V$MEMORY_DYNAMIC_COMPONENTS -> The amount of memory allocated to each dynamic component is displayed
V$MEMORY_RESIZE_OPS -> provide information on current and previous component resize operations.
V$MEMORY_TARGET_ADVICE -> provides information to help tune the MEMORY_TARGET parameter
Important ASMM Views
DEMO DEMO DEMO DEMO DEMO DEMO DEMO
< Pending >
Automatic Memory Management (AMM)