Warum ist meine AWS DMS-Aufgabe ohne Fehler fehlgeschlagen?

Lesedauer: 4 Minute
0

Ich verwende AWS Database Migration Service (AWS DMS), um meine Daten von einer Quell-Engine zu einer Ziel-Engine zu migrieren. Die Aufgabe schlägt jedoch ohne Fehler fehl.

Kurzbeschreibung

Wenn eine AWS DMS-Aufgabe fehlschlägt, wird ein Eintrag in das Aufgabenprotokoll vorgenommen. Das Aufgabenprotokoll enthält Informationen zur Fehlerursache mit Fehlermeldungen (] E:) oder Warnmeldungen (] W:). In einigen Fällen kann eine AWS DMS-Aufgabe ohne Fehler oder Warnungen fehlschlagen, was die Behebung der Ursache erschweren kann.

In den meisten Fällen schlägt die AWS DMS-Aufgabe aus einem der folgenden Gründe fehl:

Ressourcenkonflikt auf der Replikations-Instance

CPU und Arbeitsspeicher sind die beiden wichtigsten Ressourcen, die für eine Migrationsaufgabe benötigt werden:

  • Die CPU muss zuerst den Quelldatentyp in den Datentyp vom Typ AWS DMS konvertieren und ihn dann in den Zieldatentyp konvertieren.
  • Speicher ist erforderlich, da AWS DMS Streams zur Quelle und zum Ziel erstellt. AWS DMS speichert Informationen in den Stream-Puffern im Speicher der Replikations-Instance.

CPU und Speicher werden auch vom internen Überwachungssystem verwendet, um die Replikations-Instance zu überwachen. Jeder Konflikt auf der CPU oder im Arbeitsspeicher kann dazu führen, dass eine Migrationsaufgabe im Hintergrund fehlschlägt.

Status „Speicher voll“ auf der Replikations-Instance

Wenn der Speicher der Replikations-Instance voll ist, kann eine Migrationsaufgabe im Hintergrund und ohne Fehler fehlschlagen.

Ein interner Fehler ist aufgetreten

AWS DMS-Aufgaben können auch im Hintergrund fehlschlagen, wenn interne Fehler vorliegen. Interne Fehler sind in Aufgabenprotokollen, die standardmäßig protokolliert werden, nicht sichtbar.

Behebung

Hinweis: Wenn Ihre Aufgabe ein nicht relationales Datenbankverwaltungssystem verwendet, sollten Sie die Aufgabe ohne parallele Einstellungen ausführen. Weitere Informationen finden Sie unter Aufgabeneinstellungen für Zielmetadaten.

Weitere Informationen finden Sie in Ihrem DMS-, Quell- und Zielprotokoll. Überprüfen Sie zunächst die Uhrzeit des letzten Eintrags in den Aufgabenprotokollen, nachdem die Aufgabe im Hintergrund fehlgeschlagen ist. Überprüfen Sie dann etwa zur gleichen Zeit, als der Fehler protokolliert wurde, die CPU-, Speicher- und Festplattenauslastung auf der Replikations-Instance.

Wenn Sie eine Kombination aus niedrigem FreeableMemory und hoher SwapUsage sehen, liegt möglicherweise ein Speicherkonflikt auf der Replikations-Instance vor. Weitere Informationen finden Sie unter Metriken vom AWS Data Migration Service.

Gehen Sie wie folgt vor, um die CloudWatch-Metriken anzuzeigen:

  1. Öffnen Sie die AWS DMS-Konsole.
  2. Wählen Sie im Navigationsbereich Aufgaben zur Datenbankmigration aus.
  3. Wählen Sie den Namen der Aufgabe aus, die fehlgeschlagen ist.
  4. Notieren Sie sich den Namen der Replikations-Instance aus dem Abschnitt mit den Übersichtsdetails.
  5. Wählen Sie im Navigationsbereich Replikations-Instances aus.
  6. Wählen Sie den Namen der Replikations-Instance, die Sie notiert haben.
  7. Im Abschnitt Metriken für Migrationsaufgaben können Sie die Metriken CPUUtilization, SwapUsage, FreeableMemory und FreeStorageSpace einsehen.
  8. Um weitere Details anzuzeigen, zeigen Sie mit der Maus auf die Metrik und wählen Sie das Symbol „Weitere Optionen“ (drei vertikale Punkte).
  9. Wählen Sie In Metriken anzeigen aus. Dadurch wird die CloudWatch-Konsole geöffnet.

Sehen Sie sich in der CloudWatch-Konsole die Auslastung der Metrik zu dem Zeitpunkt an, an dem die Aufgabe fehlgeschlagen ist.

Wenn Sie ständige CPU- oder Speicherkonflikte feststellen, sollten Sie die Anzahl der Aufgaben reduzieren, die auf der Replikations-Instance ausgeführt werden. Um die Anzahl der Aufgaben zu reduzieren, können Sie neue Replikations-Instances starten und die Aufgaben auf mehrere Replikations-Instances verteilen. Oder skalieren Sie die Replikations-Instance auf einen größeren Instance-Typ.

Hinweis: T2-Instances bieten eine Basisleistung, nachdem die CPU Credits aufgebraucht sind. Eine T2.micro-Instance bietet beispielsweise eine Basisleistung von 10 %. Berücksichtigen Sie den Instance-Typ, wenn Sie die CPU-Auslastung überprüfen. Weitere Informationen finden Sie unter Wichtige Konzepte und Definitionen für Instances mit Spitzenlastleistung.

Nachdem Sie die Ursache des unbeaufsichtigten Fehlers identifiziert haben, starten Sie die Aufgabe erneut. Wenn es keinen Konflikt in Bezug auf CPU, Arbeitsspeicher oder Festplattenspeicher gibt, ist die Aufgabe höchstwahrscheinlich aufgrund eines internen Fehlers fehlgeschlagen. Um interne Fehler zu beheben, aktivieren Sie das detaillierte Debugging. Überprüfen Sie die Protokolle, die vor dem Fehler aufgetreten sind, und aktivieren Sie dann das detaillierte Debugging für die zugehörigen Protokolle. Wenn beispielsweise die letzten Protokolle von TARGET_APPLY stammen, aktivieren Sie das detaillierte Debugging für SORTER, TARGET_APPLY. Nachdem Sie das detaillierte Debugging aktiviert haben, starten Sie die Aufgabe neu und überprüfen Sie dann die Aufgabenprotokolle, um herauszufinden, warum die Aufgabe fehlgeschlagen ist.

Hinweis: Das Problem könnte auf Probleme mit der Validierung und nicht auf Ihre Daten zurückzuführen sein. Um zu testen, ob die Validierungskomponente die Ursache für Ihr Problem ist, führen Sie eine reine Validierungsaufgabe aus, um festzustellen, ob das Problem auftritt.

Ähnliche Informationen

Problembehandlung bei Migrationsaufgaben im AWS Database Migration Service

Wie erhalte ich technischen Support von AWS?

Warum hat meine Replikations-DB-Instance von AWS DMS den Status „Speicher voll“?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 5 Monaten