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 in den folgenden Szenarien das Lesen aus einer Oracle-Quelle. 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 von AWS DMS-Aufgabenprotokollen.
SORTERMeldung: Dies weist darauf hin, DMS dass Transaktionen auf der Replikationsinstanz zwischengespeichert werden. Weitere Informationen finden Sie unter SORTERNachricht im Task-Protokoll.
Debug-Aufgabenprotokolle: Wenn der DMS Lesevorgang unterbrochen wird, schreibt Ihre Aufgabe wiederholt die folgende Meldung in die Debug-Aufgabenprotokolle, ohne dass das Kontextfeld oder der Zeitstempel geändert werden:
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 Redo- oder archivierten Protokollvorgang.
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 Archivierungsvorgänge durchführt und AWS DMS diese Meldungen nicht in das Protokoll schreibt, bedeutet dies, dass die Aufgabe 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.
Redo-Generierungsrate pro Tag:
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;
Redo-Generierungsrate pro Stunde:
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.
Überprüfen Sie, ob Sie die zusätzliche Protokollierung richtig 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 richtigen Daten verwendenAPI, um die Redo- oder archivierten Logs zu lesen. Sie können entweder Oracle LogMiner oder AWS DMS Binary Reader verwenden. Binary Reader LogMiner liest zwar die Online-Redo-Logs und archivierten Redo-Log-Dateien, liest und analysiert die rohen Redo-Log-Dateien jedoch 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 Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC.
Überprüfen Sie, ob Sie
ArchivedLogsOnly
aufY
gesetzt haben. Wenn diese Endpunkteinstellung festgelegt ist, liest AWS DMS aus den archivierten Redo-Protokollen. Dies erhöht die Latenz der Quelle, da vor dem Lesen AWS DMS darauf gewartet wird, dass das Online-Redo-Log archiviert wird. Weitere Informationen finden Sie unter. ArchivedLogsOnlyWenn Ihre Oracle-Quelle Automatic Storage Management (ASM) verwendet, finden Sie Informationen REDO wird auf Oracle ASM gespeichert, wenn Oracle als Quelle für verwendet wird AWS DMS zur ordnungsgemäßen Konfiguration Ihres Datenspeichers unter. Möglicherweise können Sie die Leseleistung auch weiter optimieren, indem Sie das
asmUsePLSQLArray
zusätzliche Verbindungsattribut () verwenden. ECA Für weitere Informationen zur Nutzung vonasmUsePLSQLArray
siehe Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS.