Oracle proporciona varios métodos para gestionar la memoria del sistema, y Automatic Memory Management (AMM) es la opción más simple y automatizada.
AMM permite a Oracle asignar y ajustar dinámicamente la memoria para optimizar el rendimiento sin intervención manual.
¿Qué es Automatic Memory Management (AMM)?
AMM en Oracle 19c es una funcionalidad que permite que la base de datos administre automáticamente la memoria SGA (System Global Area) y PGA (Program Global Area) sin intervención del DBA.

¿Cómo funciona?
Cuando activas AMM, Oracle gestiona dinámicamente la asignación de memoria entre los diferentes componentes, como el buffer cache, shared pool, large pool, PGA, etc. Esto se hace utilizando un único pool de memoria administrado internamente.

Configuración de AMM en Oracle 19c
Para habilitar AMM, debes establecer los siguientes parámetros:
MEMORY_TARGET: Especifica la cantidad total de memoria a ser gestionada automáticamente por Oracle.
MEMORY_MAX_TARGET: Define el valor máximo que puede asignarse a MEMORY_TARGET.
Ejemplo de configuración AMM
Si deseas asignar 4 GB de memoria para la base de datos Oracle, puedes configurarlo así:
ALTER SYSTEM SET MEMORY_TARGET = 4G SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 4G SCOPE=SPFILE;
Después de ejecutar estos comandos, reinicia la base de datos para que los cambios surtan efecto:
SHUTDOWN IMMEDIATE;
STARTUP;
Verificar la configuración de AMM
Puedes verificar si AMM está activado ejecutando:
SHOW PARAMETER MEMORY_TARGET;
SHOW PARAMETER MEMORY_MAX_TARGET;
Si los valores están configurados correctamente, AMM está funcionando.
Comparación de Métodos de Gestión de Memoria en Oracle

Nota: AMM es la opción más sencilla, pero en entornos de producción con alto rendimiento, algunos DBAs prefieren ASMM para mayor control.
Práctica completa: Configuración y prueba de AMM
Revisar configuración actual
Antes de cambiar cualquier configuración, revisa cómo está administrando la memoria actualmente:
SELECT NAME, VALUE FROM V$PARAMETER
WHERE NAME IN ('memory_target', 'memory_max_target', 'sga_target', 'pga_aggregate_target');
Si MEMORY_TARGET y MEMORY_MAX_TARGET tienen valores distintos de 0, AMM ya está activado.
Habilitar AMM
Si AMM no está activo y deseas configurarlo, sigue estos pasos:
Deshabilitar parámetros manuales (si están en uso):
ALTER SYSTEM RESET SGA_TARGET SCOPE=SPFILE;
ALTER SYSTEM RESET PGA_AGGREGATE_TARGET SCOPE=SPFILE;
Configurar AMM con 6 GB de memoria (por ejemplo):
ALTER SYSTEM SET MEMORY_TARGET = 6G SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 6G SCOPE=SPFILE;
Reiniciar la base de datos para aplicar los cambios:
SELECT COMPONENT, CURRENT_SIZE, MIN_SIZE, MAX_SIZE
FROM V$MEMORY_DYNAMIC_COMPONENTS;
Validar la asignación de memoria
Después de habilitar AMM, verifica cómo Oracle está utilizando la memoria:
SELECT COMPONENT, CURRENT_SIZE, MIN_SIZE, MAX_SIZE
FROM V$MEMORY_DYNAMIC_COMPONENTS;
Este resultado mostrará cómo Oracle está distribuyendo la memoria entre los diferentes componentes.
Simulación de carga y monitoreo de AMM
Para ver cómo Oracle ajusta la memoria bajo carga, ejecuta múltiples sesiones y monitorea el uso de memoria con:
SELECT NAME, VALUE
FROM V$MEMORY_TARGET_ADVICE
ORDER BY MEMORY_SIZE;
Esto te mostrará recomendaciones sobre cómo ajustar MEMORY_TARGET basándose en el uso real de memoria.
Deshabilitar AMM (si es necesario)
Si deseas volver a la administración manual de memoria, simplemente configura AMM en 0 y usa ASMM o memoria manual:
ALTER SYSTEM SET MEMORY_TARGET = 0 SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 0 SCOPE=SPFILE;
ALTER SYSTEM SET SGA_TARGET = 4G SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 2G SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
Esto desactivará AMM y permitirá la gestión manual.
Ventajas y desventajas de AMM
Ventajas
- Simplifica la administración de memoria, ideal para entornos pequeños o medianos.
- Ajusta automáticamente la memoria según la demanda de carga.
- Reduce la necesidad de ajuste manual y minimiza errores de configuración.
Desventajas
- Puede no ser ideal para entornos de producción con alto rendimiento y requerimientos específicos.
- Algunas plataformas (como Oracle en Windows) tienen restricciones para AMM.
- Puede generar sobrecarga si la base de datos necesita ajustes más precisos.

AMM en Oracle 19c es una excelente opción para simplificar la administración de memoria, especialmente para bases de datos pequeñas y medianas. Sin embargo, en entornos críticos con alta demanda, los DBAs suelen optar por ASMM o administración manual para mayor control.
Si quieres practicar, sigue los pasos mencionados y realiza pruebas de carga para observar cómo Oracle ajusta la memoria dinámicamente







Deja un comentario