Problembehandlung beim Openflow Connector for Oracle¶
Bemerkung
Dieser Connector unterliegt den `Nutzungsbedingungen für Snowflake Connector<https://www.snowflake.com/legal/snowflake-connector-terms/>`_.
Bemerkung
Der Openflow Connector for Oracle unterliegt zusätzlichen Nutzungsbedingungen, die über die Standardnutzungsbedingungen für Konnektoren hinausgehen. Weitere Informationen dazu finden Sie im Addendum zu Openflow Connector für Oracle.
Unter diesem Thema wird beschrieben, wie Sie häufige Probleme mit Openflow Connector for Oracle beheben können.
Eine Tabelle wurde zur Replikation hinzugefügt, wird aber nicht in Snowflake angezeigt¶
Der vollqualifizierte Name (FQN) der Tabelle ist in der Konfiguration des Konnektors möglicherweise falsch angegeben.
Lösung
Überprüfen Sie das Format des FQN in
Oracle Ingestion Parameters. Es sollte<database_name>.<schema_name>.<table_name>lauten (beachten Sie das Datenbankpräfix).Überprüfen Sie den Datenbanknamen in
Oracle Source Parameters|raa|``Oracle Connection URL``. Während FQNs die Angabe des Datenbanknamens unterstützen, müssen sich die Daten derzeit in derselben Datenbankinstanz befinden, die für diese Verbindung verwendet wird.Vergewissern Sie sich, dass Sie den vollständigen Datenbanknamen, einschließlich des Domänennamens, in der Konfiguration des Konnektors angegeben haben. Verwenden Sie zum Beispiel
MYDB.EXAMPLE.COMstatt nurMYDB.Um den korrekten Datenbanknamen zu finden, führen Sie die folgende Abfrage in Ihrer Oracle-Datenbank aus:
Im Allgemeinen entspricht
property_valuedem Dienstnamen der Datenbank. Der zurückgegebene Datenbankname kann jedoch einen angehängten Domänennamen enthalten (z. B. für den DienstnamenFOOkönnte die AbfrageFOO.EXAMPLE.COMzurückgeben). Verwenden Sie in diesem Fall den vollständigen Namen mit der Domäne (in doppelten Anführungszeichen, da er Punkte enthält).
Keine Änderungen beim inkrementellen Laden¶
Beim inkrementellen Laden werden keine Änderungen aus der Quelldatenbank erfasst oder angewendet.
Lösung
Führen Sie die Überprüfung für den Prozessor Read Oracle CDC Stream aus:
Doppelklicken Sie in Ihrer Openflow-Laufzeitumgebung auf den Oracle-Ablauf.
Doppelklicken Sie auf die Prozessgruppe mit dem Namen Incremental Load.
Suchen Sie den Read Oracle CDC Stream-Prozessor.
Wenn er ausgeführt wird, klicken Sie mit der rechten Maustaste, und wählen Sie Stop aus. Der Prozessor muss gestoppt werden, bevor Sie seine Konfiguration überprüfen können.
Klicken Sie mit der rechten Maustaste erneut auf Read Oracle CDC Stream, und wählen Sie dann Configure aus.
Wählen Sie die Registerkarte Properties aus.
Aktivieren Sie das Kontrollkästchen Verification in der oberen rechten Ecke.
Wählen Sie im angezeigten Popup-Fenster Verify in der rechten unteren Ecke aus.
Die Ergebnisse des Verifizierungsverfahrens sind unten aufgeführt. Die Prozedur validiert die Konnektivität der Datenbank und prüft den Status der Komponenten, die erforderlich sind, damit das inkrementelle Laden funktioniert.
Wenn einer der Überprüfungsschritte fehlschlägt, lesen Sie die Fehlermeldung, beheben Sie das Problem, und führen Sie die Überprüfung erneut aus. In den folgenden Abschnitten werden spezifische Probleme und Lösungen beschrieben.
Erfassungsstatus nicht ENABLED¶
Der Status des Erfassungsprozesses ist DISABLED oder ABORTED. Der Status DISABLED bedeutet, dass der Erfassungsprozess manuell gestoppt wurde (mit DBMS_XSTREAM_ADM.STOP_OUTBOUND) oder die Datenbank neu gestartet wurde. Der Status ABORTED bedeutet, dass bei der Erfassung ein Fehler aufgetreten ist, normalerweise, weil die für den Erfassungsprozess benötigten Redo-Protokolle gelöscht wurden. Sie können dies bestätigen, indem Sie die Systemänderungsnummer (SCN, System Change Number) überprüfen oder den Erfassungsstatus abfragen.
Lösung
Starten Sie den Ausgangsserver:
Status UNKNOWN der LogMiner-Sitzung¶
Der Status von LogMiner ist UNKNOWN, was bedeutet, dass archivierte Protokolle, von denen LogMiner abhängig war, gelöscht wurden. Sie können dies durch Abfragen von V$ARCHIVED_LOG und Suchen nach Zeilen, in denen die Spalte DELETED den Wert YES hat, bestätigen.
Lösung
Erstellen Sie den XStream-Ausgangsserver neu. Weitere Informationen finden Sie unter Es treten Probleme mit dem XStream-Ausgangsserver auf.
Status WAITING FOR REDO der XStream-Erfassung¶
Der Erfassungsstatus für XStream zeigt WAITING FOR REDO: FILE NA, THREAD 1, SEQUENCE 47, SCN 0x0000000000190ac4 an. Das bedeutet, dass LogMiner auf eine archivierte Protokolldatei wartet, die nicht verfügbar ist, weil sie gelöscht wurde. Sie können dies durch Abfragen von V$ARCHIVED_LOG und Suchen nach Zeilen, in denen die Spalte DELETED den Wert YES hat, bestätigen.
Lösung
Erstellen Sie den XStream-Ausgangsserver neu. Weitere Informationen finden Sie unter Es treten Probleme mit dem XStream-Ausgangsserver auf.
Die XStream-Erfassungsregeln sind falsch¶
XStream ist nicht so konfiguriert, dass es Änderungen an den erwarteten Schemas oder Tabellen erfasst.
Lösung
Überprüfen Sie die Erfassungsregeln, indem Sie die folgende Abfrage ausführen:
Sie können den Erfassungsstatus und die Fehlermeldung auch direkt abfragen:
Diese Abfrage gibt Folgendes zurück:
CLIENT_NAME: Der Name des XStream-Clients (Ausgangsserver).STATUS: Der aktuelle Status des Erfassungsprozesses (z. B.ENABLED,DISABLED,ABORTED).ERROR_MESSAGE: Jede Fehlermeldung im Zusammenhang mit dem Erfassungsprozess.
Fehler ORA-21560: das Argument „last_position“ ist null, ungültig oder außerhalb des Bereichs¶
Der Konnektor hat versucht, eine Verbindung zu einer SCN-Position herzustellen, für die keine Redo-Protokolle mehr verfügbar sind.
Lösung
Bestätigen Sie das Problem, indem Sie die folgende Abfrage ausführen. Die SCN für Last SCN processed by XStream muss höher sein als die niedrigste SCN, für die Redo-Protokolle existieren.
Um diesen Fehler zu beheben, erstellen Sie den XStream-Ausgangsserver neu. Weitere Informationen finden Sie unter Es treten Probleme mit dem XStream-Ausgangsserver auf.
Fehler ORA-26701: Der Prozess XOUT1 für Streams ist nicht vorhanden¶
Der XStream-Ausgangsserver kann in der Datenbankinstanz nicht gefunden werden.
Lösung
Überprüfen Sie Folgendes:
Der Name der Datenbank in
Oracle Source Parameters»XStream Out Server URLzeigt auf die Datenbankinstanz mit dem XStream-Ausgangsserver, nicht ein anderes PDB.XStream wurde für diese Instanz erstellt und hat denselben Namen.
Fehler ORA-01722: ungültige Nummer bei der Erstellung des Ausgangsservers¶
Ausführen von DBMS_XSTREAM_ADM.CREATE_OUTBOUND schlägt fehl mit:
Dieser Fehler ist irreführend. Der Ausgangsserver existiert bereits.
Lösung
Es ist keine Aktion erforderlich. Verwenden Sie den vorhandenen Ausgangsserver.
Es treten Probleme mit dem XStream-Ausgangsserver auf¶
Mehrere Probleme, wie z. B. gelöschte Redo-Protokolle oder beschädigter LogMiner-Status, können durch die erneute Erstellung des XStream-Ausgangsservers gelöst werden.
Lösung
Löschen Sie den bestehenden Ausgangsserver:
Erstellen Sie den Ausgangsserver erneut. Weitere Informationen dazu finden Sie unter Erstellen eines XStream-Ausgangsservers.