View a markdown version of this page

Fehlersuche bei Oracle-Endpunkten - AWS Datenbankmigrationsdienst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlersuche bei Oracle-Endpunkten

Dieser Abschnitt enthält spezifische Replikationsszenarien für Oracle.

Das Lesen aus der Quelle wurde angehalten

AWS DMS unterbricht das Lesen aus einer Oracle-Quelle in den folgenden Szenarien. Dieses Verhalten ist beabsichtigt. Sie können die Ursachen dafür mithilfe des Aufgabenprotokolls untersuchen. Suchen Sie im Aufgabenprotokoll nach Meldungen, die den folgenden ähneln. Weitere Informationen zur Arbeit mit dem Aufgabenprotokoll finden Sie unter Anzeigen und Verwalten AWS DMS-Aufgabenprotokolle.

  • SORTER-Meldung: Dies weist darauf hin, dass DMS Transaktionen auf der Replikations-Instance zwischenspeichert. Weitere Informationen finden Sie unter SORTER-Meldung im Aufgabenprotokoll.

  • Aufgabenprotokolle debuggen: Wenn DMS den Lesevorgang unterbricht, schreibt Ihre Aufgabe wiederholt die folgende Meldung in die Debug-Aufgabenprotokolle, ohne Änderungen am Kontextfeld oder Zeitstempel:

    • Binary Reader:

      [SOURCE_CAPTURE ]T: Produce CTI event: context '00000020.f23ec6e5.00000002.000a.00.0000:190805.3477731.16' xid [00000000001e0018] timestamp '2021-07-19 06:57:55' thread 2 (oradcdc_oralog.c:817)
    • Logminer:

      [SOURCE_CAPTURE ]T: Produce INSERT event: object id 1309826 context '000000000F2CECAA010000010005A8F500000275016C0000000000000F2CEC58' xid [000014e06411d996] timestamp '2021-08-12 09:20:32' thread 1 (oracdc_reader.c:2269)
  • AWS DMS protokolliert die folgende Meldung für jeden neuen Vorgang zum Wiederherstellen oder Archivieren der Protokollierung.

    00007298: 2021-08-13T22:00:34 [SOURCE_CAPTURE ]I: Start processing archived Redo log sequence 14850 thread 2 name XXXXX/XXXXX/ARCHIVELOG/2021_08_14/thread_2_seq_14850.22977.1080547209 (oradcdc_redo.c:754)

    Wenn die Quelle neue Redo- oder Archive-Log-Operationen durchführt und AWS DMS diese Meldungen nicht in das Log schreibt, bedeutet das, dass die Task keine Ereignisse verarbeitet.

Hohe Redo-Generierung

Wenn Ihre Aufgabe Redo- oder archivierte Protokolle verarbeitet, die Quelllatenz jedoch hoch bleibt, versuchen Sie, die Redo-Protokollgenerierungsrate und -generierungsmuster zu ermitteln. Eine hohe Redo-Protokollgenerierungsrate führt zu einer höheren Quelllatenz, da Ihre Aufgabe alle Redo- und Archivierungsprotokolle liest, um Änderungen im Zusammenhang mit den replizierten Tabellen abzurufen.

Verwenden Sie die folgenden Abfragen, um die Redo-Generierungsrate zu ermitteln.

  • Per-day Geschwindigkeit der Redo-Generierung:

    select trunc(COMPLETION_TIME,'DD') Day, thread#, round(sum(BLOCKS*BLOCK_SIZE)/1024/1024/1024) GB, count(*) Archives_Generated from v$archived_log where completion_time > sysdate- 1 group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;
  • Per-hour Wiederholungsrate der Generierung:

    Alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS'; select trunc(COMPLETION_TIME,'HH') Hour,thread# , round(sum(BLOCKS*BLOCK_SIZE)/1024/1024) "REDO PER HOUR (MB)", count(*) Archives from v$archived_log where completion_time > sysdate- 1 group by trunc(COMPLETION_TIME,'HH'),thread# order by 1 ;

Überprüfen Sie Folgendes, um Latenzprobleme in diesem Szenario zu beheben:

  • Überprüfen Sie die Netzwerkbandbreite und die Single-Thread-Leistung Ihrer Replikation, um sicherzustellen, dass Ihr zugrunde liegendes Netzwerk die Redo-Generierungsrate der Quelle unterstützen kann. Informationen zu den möglichen Auswirkungen der Netzwerkbandbreite auf die Replikationsleistung finden Sie unter Netzwerkgeschwindigkeit und -bandbreite.

  • Prüfen Sie, ob Sie die zusätzliche Protokollierung korrekt eingerichtet haben. Vermeiden Sie zusätzliche Protokollierung an der Quelle, wie beispielsweise die Aktivierung der Protokollierung für alle Spalten einer Tabelle. Weitere Informationen zum Einrichten der zusätzlichen Protokollierung finden Sie unter Einrichten der zusätzlichen Protokollierung.

  • Stellen Sie sicher, dass Sie die richtige API verwenden, um die Redo- oder archivierten Protokolle zu lesen. Sie können entweder Oracle LogMiner oder AWS DMS Binary Reader verwenden. Während Binary Reader die Online-Redo-Logs und archivierten Redo-Log-Dateien LogMiner liest und analysiert, liest und analysiert er die unformatierten Redo-Log-Dateien direkt. Daher ist Binary Reader leistungsfähiger. Wir empfehlen, Binary Reader zu verwenden, wenn die Redo-Protokollgenerierung mehr als 10 GB/Stunde umfasst. Weitere Informationen finden Sie unter Mit Oracle LogMiner oder AWS DMS Binärleser für CDC.

  • Überprüfen Sie, ob Sie ArchivedLogsOnly auf Y gesetzt haben. Wenn diese Endpunkteinstellung festgelegt ist, liest AWS DMS aus den archivierten Redo-Protokollen. Dies erhöht die Latenz an der Quelle, da vor dem AWS DMS Lesen darauf gewartet wird, dass das Online-Redo-Log archiviert ist. Weitere Informationen finden Sie unter ArchivedLogsOnly.

  • Wenn Ihre Oracle-Quelle Automatic Storage Management (ASM) verwendet, erhalten Sie unter REDO wird auf Oracle ASM gespeichert, wenn Oracle als Quelle für verwendet wird AWS DMS Informationen zur ordnungsgemäßen Konfiguration Ihres Datenspeichers. Möglicherweise können Sie die Leseleistung auch weiter optimieren, wenn Sie das zusätzliche Verbindungsattribut (Extra Connection Attrribute, ECA) asmUsePLSQLArray verwenden. Für weitere Informationen zur Nutzung von asmUsePLSQLArray siehe Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS.