Dépanner les problèmes de consommation de mémoire

Note :

Ces informations s'appliquent uniquement aux déploiements de réplication de données.

Si vos processus d'extraction ou de réplication Oracle GoldenGate manquent de mémoire lors de l'exécution de transactions de longue durée, vous devez configurer le gestionnaire de mémoire cache correctement pour chaque processus.

Dans la plupart des cas, la taille du cache par défaut est de 64 Go. Un problème survient lorsque vous traitez des transactions extrêmement volumineuses ou que votre forme de déploiement est petite par rapport à la taille des transactions que vous traitez.

Selon la forme du déploiement de GoldenGate pour OCI, 16 gigaoctets (Go) de mémoire physique sont affectés par OCPU. Si l'ajustement automatique a été activé, la mémoire physique totale peut être multipliée par 3 au maximum.

Par exemple, un déploiement de GoldenGate pour OCI avec 4 OCPU (4 x 16 Go = 64 Go) et avec l'ajustement automatique activé (64 Go x 3) dispose de 192 Go de mémoire physique disponibles.

Par défaut, 256 Go d'espace mémoire de permutation sont affectés à chaque déploiement de GoldenGate pour OCI. Par conséquent, votre mémoire virtuelle totale pour le déploiement est de 192 Go + 256 Go = 448 Go. Étant donné que tous les processus GoldenGate du déploiement partagent cette mémoire virtuelle, Oracle vous recommande de régler CACHEMGR CASHESIZE à un intervalle sécurisé, par exemple 60 % de la mémoire virtuelle totale ou 268 Go. Une fois que l'utilisation de la mémoire virtuelle du processus d'extraction ou de réplication atteint 268 Go, les transactions en dépassement sont écrites sur le disque, dans /u03/temp par défaut. 256 Go sont disponibles dans ce répertoire par défaut. Si l'espace n'est toujours pas suffisant, vous pouvez ajouter un répertoire secondaire. Oracle recommande /u02/Deployment/var/lib/cachemanager, dont l'espace est illimité.

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

Si plusieurs processus d'extraction et de réplication traitent des transactions volumineuses dans le même déploiement, vous pouvez effectuer l'une des opérations suivantes :

  • Augmentez les OCPU du déploiement afin d'avoir plus de mémoire physique et d'obtenir davantage de mémoire virtuelle pour vos processus.
  • Réduisez la valeur du paramètre CACHEMGR CACHESIZE de sorte que chaque processus utilise moins de mémoire virtuelle et pour forcer l'utilisation des répertoires sur disque en cas de dépassement. Vous pouvez ainsi conserver la forme de déploiement courante sans augmenter le coût. Toutefois, le traitement de vos transactions volumineuses sera légèrement plus lent car il utilise le disque plutôt que de la mémoire virtuelle pour mettre en mémoire cache les transactions en attente.

Vous pouvez utiliser les paramètres et recommandations mentionnés ici pour ajuster les paramètres de votre environnement en fonction de la taille de vos transactions.