La Área Global del Programa (PGA) es una memoria privada que usa cada proceso de servidor en Oracle Database. Es muy importante para que la base de datos funcione bien, especialmente en operaciones que necesitan mucho procesamiento.

La PGA guarda datos y información de control que son específicos para cada proceso, y no se comparte con otros procesos.

Está compuesta por varias áreas de memoria, incluyendo el área de trabajo de ordenación (sort area), espacio para pilas (stack space) y memoria para operaciones de mantenimiento (maintenance operations).

Se utiliza para funciones que requieren cálculos intensivos, como ordenamientos, joins y ejecución de PL/SQL que implica uso de datos en memoria.

Configuración de la PGA

  • Tamaño de la PGA: Puedes configurar el tamaño de la PGA utilizando la inicialización del parámetro PGA_AGGREGATE_TARGET, que determina la cantidad total de memoria física que se puede utilizar para la PGA en toda la instancia de Oracle.

SPFILE

ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 5G SCOPE=BOTH; 
  • SCOPE=BOTH: Aplica el cambio de inmediato y también lo guarda en el SPFILE.
  • Puedes usar SCOPE=MEMORY para cambiarlo temporalmente sin guardar el cambio, o SCOPE=SPFILE para cambiarlo permanentemente pero sin aplicarlo de inmediato.

Para confirmar que el cambio se ha realizado correctamente, utiliza la siguiente consulta:

SHOW PARAMETER pga_aggregate_target;

PFILE

Encuentra el archivo de inicialización, que se llama init.ora.

Ábrelo en un editor de texto.

Busca la línea correspondiente a pga_aggregate_target. Si no existe, agrégala. Para establecer el tamaño del PGA a 1 GB, agrega o edita la siguiente línea:

pga_aggregate_target = 1073741824 -- 1 GB en bytespga_aggregate_target = 1073741824 -- 1 GB en bytes

Para que los cambios surtan efecto, es necesario reiniciar la instancia de Oracle. Conéctate a SQL*Plus y ejecuta:

SHUTDOWN IMMEDIATE;
STARTUP;

Para confirmar que el cambio se ha realizado correctamente, utiliza la siguiente consulta:

SHOW PARAMETER pga_aggregate_target;
  • Automatización: Oracle 19c ajusta automáticamente la PGA según las necesidades de las sesiones, mejorando el rendimiento de las aplicaciones y reduciendo la carga de administración del sistema.

Monitoreo de la PGA

  • Vistas: Utiliza vistas del diccionario de datos como V$PROCESSV$PGASTATS y V$PGA_TARGET_ADVICE para monitorear el uso y la eficiencia de la PGA.
    • V$PGASTATS proporciona estadísticas sobre el uso de la PGA, incluyendo el total de memoria utilizada y la memoria liberada.
    • V$PGA_TARGET_ADVICE puede ayudarte a tomar decisiones de ajuste y verificar el impacto de cambiar el valor de PGA_AGGREGATE_TARGET.

Ajuste del PGA

Recopilación de Información

Antes de calcular el tamaño de la PGA, necesitas información sobre la carga de trabajo.

  • Número de sesiones concurrentes: Cuántas sesiones se esperan que estén activas simultáneamente.
  • Tipo de operaciones: Si el trabajo es principalmente OLTP (procesamiento de transacciones en línea) o OLAP (procesamiento analítico en línea).
  • Uso promedio de la PGA por sesión: Se puede usar un valor promedio basado en mediciones anteriores o estimaciones.

Recomendaciones de Tamaño:

Un buen comienzo es configurar PGA_AGGREGATE_TARGET entre el 20% y el 30% de la memoria total del servidor, aunque esto puede cambiar según las aplicaciones y el uso de la base de datos.

Vigilancia de Desbordamientos: Siempre revisa estadísticas como pga_aggregate_limit y pga_used_memory para detectar desbordamientos o un uso ineficiente de la PGA.

Ajustar el trabajo basado en cargas: Si notas que las consultas o transacciones utilizan más memoria de la esperada, considera aumentar PGA_AGGREGATE_TARGET y cambiar WORKAREA_SIZE_POLICY a «AUTO».

Fórmula

  • Tamaño de la PGA = Uso promedio de PGA por sesión × Número de sesiones concurrentes
  • Ejemplo:
    • Si el uso promedio es de 50 MB por sesión y las sesiones concurrentes son 100:
    • Tamaño de la PGA = 50 MB × 100 = 5000 MB (o 5 GB)

Una gestión adecuada de la PGA en Oracle 19c es clave para mejorar el rendimiento de las aplicaciones en la base de datos. Con el monitoreo y ajuste de los parámetros, puedes asegurar que la PGA esté optimizada para las cargas de trabajo de tu sistema, lo que permite un uso eficiente de la memoria.

Deja un comentario

Tendencias