Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes liés à la mise à niveau SQL sur place d'Aurora My
Suivez les conseils suivants pour résoudre les problèmes liés aux mises à niveau sur SQL place d'Aurora My. Ces conseils ne s'appliquent pas à Aurora Serverless Clusters de bases de données.
Pourquoi la mise à niveau sur place s'est arrêtée ou est lente | Effet | Solution permettant à la mise à niveau sur place de se terminer dans la fenêtre de maintenance |
---|---|---|
La réplique interrégionale Aurora associée n'est pas encore corrigée | Aurora annule la mise à niveau. | Mettez à niveau la réplique interrégionale d'Aurora et réessayez. |
Le cluster a des transactions XA à l'état préparé. | Aurora annule la mise à niveau. | Validez ou restaurez toutes les transactions XA préparées. |
Le cluster traite toutes les instructions du langage de définition des données (DDL) | Aurora annule la mise à niveau. | Pensez à attendre et à effectuer la mise à niveau une fois toutes les DDL instructions terminées. |
Le cluster a des modifications non validées pour de nombreuses lignes. | La mise à niveau pourrait prendre beaucoup de temps. |
Le processus de mise à niveau restaure les modifications non validées. L'indicateur de cette condition est la valeur de Prévoyez d'effectuer la mise à niveau uniquement lorsque toutes les transactions volumineuses ont été validées ou restaurées. |
Le cluster a un nombre élevé d'enregistrements d'annulation. | La mise à niveau pourrait prendre beaucoup de temps. |
Même si les transactions non validées affectent peu de lignes, elles peuvent impliquer un grand volume de données. Par exemple, il se peut que vous insériez une taille importanteBLOBs. Aurora ne détecte ni ne génère automatiquement d'événement pour ce type d'activité de transaction. L'indicateur de cette condition est la longueur de la liste d'historique (HLL). Le processus de mise à niveau restaure les modifications non validées. Vous pouvez vérifier HLL le résultat de la
Vous pouvez également surveiller la Envisagez d'effectuer la mise à niveau uniquement une fois que la HLL valeur est plus petite. |
Le cluster est en train de valider une transaction de journal binaire volumineuse | La mise à niveau pourrait prendre beaucoup de temps. |
Le processus de mise à niveau attend que les modifications de journaux binaires soient appliquées. D'autres transactions ou DDL relevés pourraient commencer au cours de cette période, ce qui ralentirait davantage le processus de mise à niveau. Planifiez le processus de mise à niveau lorsque le cluster n'est pas occupé à générer des modifications de réplication de journaux binaires. Aurora ne détecte ni ne génère automatiquement d'événement pour cette condition. |
Incohérences de schéma résultant de la suppression ou de l'endommagement de fichiers | Aurora annule la mise à niveau. |
Modifiez le moteur de stockage par défaut pour les tables temporaires de My ISAM à InnoDB. Procédez comme suit :
|
L'utilisateur principal a été supprimé | Aurora annule la mise à niveau. |
ImportantNe supprimez pas l'utilisateur principal. Toutefois, si, pour une raison ou une autre, vous deviez supprimer l'utilisateur principal, restaurez-le à l'aide des SQL commandes suivantes :
|
Pour plus de détails sur la résolution des problèmes à l'origine de l'échec des prévérifications de mise à niveau, consultez les blogs suivants :
Vous pouvez suivre les étapes suivantes afin d'effectuer vos propres vérifications pour certaines des conditions du tableau précédent. Ainsi, vous pouvez planifier la mise à niveau à un moment où vous savez que la base de données sera dans un état permettant une mise à niveau rapide.
-
Vous pouvez vérifier les transactions XA ouvertes en exécutant l'instruction
XA RECOVER
. Vous pouvez ensuite valider ou restaurer les transactions XA avant de lancer la mise à niveau. -
Vous pouvez vérifier la présence d'DDLinstructions en exécutant une
SHOW PROCESSLIST
instruction et en recherchant lesTRUNCATE
instructionsCREATE
DROP
ALTER
RENAME
,,, et dans la sortie. Laissez toutes les DDL instructions se terminer avant de commencer la mise à niveau. -
Vous pouvez vérifier le nombre total de lignes non validées en interrogeant la table
INFORMATION_SCHEMA.INNODB_TRX
. La table contient une ligne pour chaque transaction. La colonneTRX_ROWS_MODIFIED
contient le nombre de lignes modifiées ou insérées par la transaction. -
Vous pouvez vérifier la longueur de la liste d'historique InnoDB en exécutant l'instruction
SHOW ENGINE INNODB STATUS SQL
et en recherchant la valeurHistory list length
dans la sortie. Vous pouvez également vérifier la valeur directement en exécutant la requête suivante :SELECT count FROM information_schema.innodb_metrics WHERE name = 'trx_rseg_history_len';
La longueur de la liste d'historique correspond à la quantité d'informations d'annulation stockées par la base de données pour implémenter le contrôle de simultanéité multiversion ()MVCC.