Solución de incidencias de consumo de memoria

Note:

Esta información solo se aplica a los despliegues de replicación de datos.

Si los Extracts o los Replicats de Oracle GoldenGate se quedan sin memoria al ejecutar transacciones largas, debe configurar el gestor de caché correctamente para cada proceso.

La configuración de tamaño de caché por defecto de 64 GB es adecuada en la mayoría de los casos. Se produce una incidencia cuando procesa transacciones extremadamente grandes o la unidad de despliegue es pequeña en relación con el tamaño de la transacción que está procesando.

En función de la unidad del despliegue de OCI GoldenGate, se asignan 16 GB de memoria física por OCPU. Si la escala automática estaba activada, la memoria física total puede ser hasta 3 veces superior.

Por ejemplo, un despliegue de OCI GoldenGate con 4 OCPU (4 x 16 GB = 64 GB) y la escala automática activada (64 GB x 3) tiene 192 GB de memoria física disponible.

Por defecto, a cada despliegue de OCI GoldenGate se le asignan 256 GB de espacio de intercambio. Por lo tanto, la memoria virtual total para el despliegue es de 192 GB + 256 GB = 448 GB. Teniendo en cuenta que todos los procesos de GoldenGate en el despliegue comparten esta memoria virtual, Oracle recomienda definir CACHEMGR CASHESIZE en un rango seguro, por ejemplo, el 60 % de la memoria virtual total o 268 GB. Una vez que el Extract o el Replicat alcanza el uso de memoria virtual de 268 GB, las transacciones de desbordamiento se escriben en el disco, que por defecto es /u03/temp. Este directorio por defecto tiene 256 GB disponibles. Si este espacio sigue sin ser suficiente, puede agregar un directorio secundario. Oracle recomienda /u02/Deployment/var/lib/cachemanager, que es ilimitado.

CACHEMGR CACHESIZE 268G CACHEDIRECTORY /u03/temp, CACHEDIRECTORY /u02/Deployment/var/lib/cachemanager

Si tiene varios Extracts y Replicats que procesan grandes transacciones en el mismo despliegue, puede elegir entre las siguientes opciones:

  • Aumente las OCPU del despliegue para tener más memoria física y, como resultado, más memoria virtual para que los procesos la utilicen.
  • Reduzca el valor de CACHEMGR CACHESIZE para que cada proceso utilice menos memoria virtual y fuerce que el desbordamiento utilice los directorios del disco. Esto le permite mantener la unidad de despliegue actual sin el costo de aumento. Sin embargo, el procesamiento de transacciones de gran tamaño será ligeramente más lento, ya que utiliza el disco en lugar de memoria virtual para almacenar en caché las transacciones pendientes.

Puede utilizar los parámetros y las recomendaciones mencionados aquí como ayuda para ajustar la configuración del entorno al tamaño de la transacción.