Lorsque j’utilise AWS Database Migration Services (AWS DMS), le message d’erreur « Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Error Level FATAL » s’affiche.
Brève description
Lorsque vous utilisez AWS DMS, le message d’erreur suivant s’affiche : « Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL ». Pour trouver la cause première de l’erreur, consultez les journaux de tâches AWS DMS. Pour l’erreur précédente, les journaux fournissent les informations suivantes : « Le processus de tâche pour 'XXXXXXX' a échoué car la mémoire était insuffisante ».
Pour résoudre cette erreur, effectuez une ou plusieurs des étapes suivantes :
- Modifiez les paramètres des tâches ou les paramètres liés à la mémoire.
- Augmentez la classe d’instances de réplication en fonction des fluctuations des métriques Amazon CloudWatch pour les instances de réplication, telles que FreeMemory et SwapUsage.
- Divisez une tâche en plusieurs tâches en fonction de la taille des données migrées et de la quantité de mémoire requise pour la tâche.
Résolution
Remarque : vous devez arrêter la tâche avant d’apporter des modifications. Après avoir effectué les modifications, vous devez reprendre la tâche. Les tables en vol sont rechargées à partir de zéro si la tâche s’arrête pendant la phase de chargement complet.
Modifier les paramètres des tâches ou les paramètres liés à la mémoire
Vérifiez si vous pouvez redimensionner les paramètres des tâches ou les paramètres liés à la mémoire qui nécessitent une capacité de mémoire plus élevée. Voici certains des paramètres de tâches les plus courants et les plus courants à vérifier :
- Réglages LOB
- Paramètres de validation, tels que ThreadCount et PartitionSize
- Paramètres de thread parallèle, tels que ParallelLoadThreads, ParallelLoadBufferSize, ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize et ParallelApplyQueuesPerThread.
- Paramètres d’application par lots, tels que BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit et BatchSplitSize.
- Autres paramètres de tâches liés à la mémoire, tels que MinTransactionSize, MemoryLimitTotal, MemoryKeepTime et StatementCacheSize.
Pour plus de détails sur les paramètres et paramètres des tâches précédents, consultez Comment AWS DMS utilise-t-il la mémoire pour la migration ?
Augmentez la classe d’instance de réplication en fonction des fluctuations des métriques Amazon CloudWatch
Vérifiez les métriques FreeMemory et SwapUsage de l’instance de réplication. Si FreeMemory diminue ou si SwapUsage augmente ou fluctue, envisagez de passer à une instance de réplication plus grande.
Pensez également à utiliser des instances optimisées pour la mémoire. Les instances à mémoire optimisée sont adaptées aux charges de travail gourmandes en mémoire, telles que les migrations en cours et les réplications de transactions à haut débit. Pour plus d’informations sur la taille et les types d’instances de réplication, consultez Choisir l’instance de réplication AWS DMS adaptée à votre migration.
Divisez une tâche en plusieurs tâches en fonction de la taille des données migrées et de la quantité de mémoire requise pour la tâche
Si l’instance de réplication comporte plusieurs tâches, vous pouvez utiliser la métrique DMS MemoryUsage pour observer la quantité de mémoire consommée par la tâche. Pour déterminer pourquoi la tâche conserve de la mémoire pendant la phase CDC, comparez CDCChangesMemorySource et CDCChangesMemoryTarget, puis dépannez le point de terminaison correspondant.
Lorsque plusieurs tâches sont exécutées sur l’instance de réplication, effectuez l’une ou plusieurs des actions suivantes :
- Réduisez le nombre et le type de tâches exécutées sur l’instance de réplication.
- Déplacez la tâche qui a échoué vers une autre instance de réplication, puis réessayez.
- Augmentez la capacité des instances.
Pour les tâches impliquant le chargement de plusieurs tables en parallèle ou la migration de nombreux tableaux et schémas, effectuez une ou plusieurs des actions suivantes :
- Réduisez le nombre de tables qui se chargent en parallèle.
- Réduisez le nombre total de tables et de schémas en cours de migration.
- Exécutez une tâche différente sur une autre instance de réplication pour décharger la migration de certaines tables et de certains schémas.
- Augmentez la capacité des instances.
Informations connexes
Paramètres des tâches de métadonnées cibles
Paramètres de réglage du traitement des modifications
Statistiques du service de migration de base de données AWS