Openflow Connector for Oracle: Verwaltung¶
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 unter Openflow Connector für Oracle-Zusatz.
Unter diesem Thema werden Wartungsaufgaben für den Openflow Connector for Oracle beschrieben, wie z. B. die Neuinstallation des Konnektors oder das Festlegen der Startposition für das Redo-Protokoll.
Diese Operationen werden oft in Verbindung mit Inkrementeller Replikation mit Snapshots verwendet.
Konnektor erneut installieren¶
In diesem Abschnitt finden Sie eine Anleitung, wie Sie den Konnektor neu installieren und weiterhin Daten für dieselben Tabellen replizieren können, ohne erneut Snapshots erstellen zu müssen. Dies deckt Situationen ab, in denen der neue Konnektor in derselben Laufzeitumgebung installiert wird oder wenn er in eine neue Laufzeitumgebung verschoben wird.
Warnung
Damit der Konnektor weiterhin von derselben CDC Stream-Position replizieren kann, an der er vor der Neuinstallation angehalten wurde, muss die Quelldatenbank die archivierten Redo-Protokolle lange genug beibehalten, um die Zeit nach dem Anhalten des vorherigen Konnektors und vor dem Starten des neuen Konnektors abzudecken. Stellen Sie sicher, dass die Aufbewahrungsfrist für das archivierte Redo-Protokoll der Oracle-Datenbank lang genug ist, und halten Sie die Zeit für die Neuinstallation auf ein Minimum.
Normalerweise ist eine Aufbewahrungsfrist von 24 Stunden ausreichend, jedoch können auch längere Zeitvorgaben für eine Neuinstallation angemessen sein. Weitere Informationen zur Konfiguration der Aufbewahrungsfrist für archivierte Redo-Protokolle finden Sie unter Openflow Connector for Oracle: Konfigurieren der Oracle-Datenbank.
Voraussetzungen¶
Überprüfen und notieren Sie die Kontextwerte der Konnektorparameter. Wenn Sie den Konnektor in derselben Laufzeit neu installieren, können Sie den vorhandenen Kontext wiederverwenden. Wenn sich die neue Instanz in einer anderen Laufzeitumgebung befindet, müssen Sie alle Parameter neu eingeben.
Schließen Sie die Verarbeitung aller in Übertragung befindlichen FlowFiles im bestehenden Konnektor ab und stoppen Sie dann den Konnektor.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Ingestion » Openflow aus.
Wählen Sie Launch Openflow aus.
Wählen Sie im Bereich Openflow die Registerkarte Runtimes aus.
Wählen Sie die Laufzeitumgebung aus, die den Konnektor enthält.
Wählen Sie den Konnektor aus.
Stoppen Sie den obersten Prozessor Set Tables for Replication in der Gruppe Snapshot Load.
Stoppen Sie den obersten Prozessor Read Oracle CDC Stream in der Gruppe Incremental Load.
Wenn Sie den Wert des Parameters Merge Task Schedule CRON geändert haben, geben Sie ihn an
* * * * * ?zurück, andernfalls werden die Warteschlangen erst bei der nächsten geplanten Ausführung geleert.Warten Sie, bis alle FlowFiles im Konnektor verarbeitet wurden und alle Warteschlangen leer sind. Wenn alle FlowFiles verarbeitet wurden, wird der Wert Queued für die Prozessorgruppe des Konnektors zu Null. Wenn sich noch Elemente in den Warteschlangen des ursprünglichen Konnektors befinden, kann es beim Starten des neuen Konnektors zu Datenlücken kommen.
Stoppen Sie alle Prozessoren und Controller-Dienste im Konnektor.
Vorsicht
Der bestehende Konnektor kann in der Laufzeit verbleiben und beeinträchtigt die neue Instanz nicht, solange sie angehalten bleibt.
Erstellen Sie eine neue Instanz des Konnektors. Wenn Sie dieselbe Laufzeitumgebung wie der ursprüngliche Konnektor verwenden, können Sie die vorhandenen Parameterkontexte beibehalten und die Einstellungen wiederverwenden.
Wenn Sie in eine andere Laufzeitumgebung installieren oder die vorherigen Parameterkontexte gelöscht haben, geben Sie die Konfigurationseinstellungen in die neuen Parameterkontexte ein, einschließlich der Tabellennamen und Muster, wie unter Openflow Connector for Oracle installieren und konfigurieren beschrieben.
Navigieren Sie zum
Oracle Ingestion Parameters-Kontext, und legen Sie die folgenden Parameter fest:Setzen Sie den Parameter
Ingestion Typeaufincremental. Weitere Informationen zu den Problemen finden Sie unter Die inkrementelle Replikation ohne Snapshots für einen bestehenden Konnektor aktivieren.Setzen Sie den Parameter
Starting Redo Log PositionaufEarliest. Weitere Informationen und mögliche Bedenken finden Sie unter Ändern des ausgehenden XStream-Servers.
Starten Sie den neuen Konnektor.
Nutzungshinweise¶
Der neue Konnektor verwendet die vorhandenen Zieltabellen, die vom ursprünglichen Konnektor erstellt wurden, erstellt jedoch neue Journaltabellen.
Ändern des ausgehenden XStream-Servers¶
Der Konnektor aktualisiert regelmäßig den XStream-Server mit der neuesten SCN-Position, die verarbeitet wurde. Wenn der Konnektor neu installiert wird und sich mit demselben ausgehenden XStream-Server verbindet, wird das Lesen an der SCN-Position fortgesetzt, an der aufgehört wurde. Diese SCN-Nummer kann folgendermaßen überprüft werden:
SELECT PROCESSED_LOW_SCN
FROM DBA_XSTREAM_OUTBOUND_PROGRESS
WHERE SERVER_NAME = 'XOUT1';
Wenn Sie Daten aus einer früheren Position erneut lesen möchten, müssen Sie zunächst die Start-SCN des XStream-Servers ändern:
BEGIN
DBMS_XSTREAM_ADM.ALTER_OUTBOUND(
server_name => 'XOUT1',
start_scn => <start_scn>
);
END;
/
Der Wert von <start_scn> muss eine gültige SCN innerhalb des Bereichs der verfügbaren Redo-Protokolle sein. Die niedrigste SCN, auf die die Startposition zurückgesetzt werden kann, kann folgendermaßen überprüft werden:
SELECT REQUIRED_CHECKPOINT_SCN
FROM DBA_CAPTURE
WHERE CLIENT_NAME = 'XOUT1';
Dies ist die niedrigste SCN, für die der Erfassungsprozess Redo-Informationen erfordert.
Angeben des Ladevorgangs von der XStream-Position¶
Mit dem Openflow Connector for Oracle-Konnektor können Sie die Startposition auswählen, ab der Oracle-Redo-Protokolle gelesen werden. Standardmäßig beginnt der Konnektor den Lesevorgang an der letzten verfügbaren Position. Alternativ können Sie auch die früheste verfügbare Position in der Quellinstanz auswählen. Bei der Neuinstallation des Konnektors ist es üblich, an der frühesten Position zu beginnen. Dadurch kann die neue Instanz bestehende Tabellen auffinden und weiter replizieren, ohne jeweils einen erneuten Snapshot erstellen zu müssen.
Bemerkung
Das Umschalten eines aktiven Konnektors von der letzten zur frühesten Position führt dazu, dass die gesamten verfügbaren Redo-Protokolle neu gelesen, neu verarbeitet und erneut auf die Zieltabelle angewendet werden.
Warnung
Während die Redo-Protokolle neu gelesen werden, können die Spalten und Daten in den betroffenen Zieltabellen nicht mehr mit ihren Quellen synchronisiert werden, bis alle Ereignisse neu verarbeitet und zusammengeführt wurden.
Die folgenden Parameter sind im Ingestion Parameters-Kontext verfügbar:
Parameter |
Beschreibung |
|---|---|
XStream-Startposition |
|
Erneutes Lesen von Tabellen im Status |
|
So stellen Sie fest, ob der Konnektor das erneute Lesen der Redo-Protokolle beendet hat:
Navigieren Sie zur Openflow-Arbeitsoberfläche.
Öffnen Sie die Prozessgruppe Incremental Load.
Klicken Sie mit der rechten Maustaste auf den obersten Prozessor namens Read Oracle CDC Stream. Wählen Sie anschließend View state aus.
Vergleichen Sie die Statuseinträge:
lcr.position.rewind: die letzte Position, die der Prozessor vor dem erneuten Lesen der Redo-Protokolle gelesen hat.
lcr.position.last: die aktuell letzte vom Prozessor gelesene Position. Solange dieser Wert niedriger ist als der obige Rücklaufwert, befindet sich der Prozessor noch beim erneuten Lesen der Redo-Protokolle.
Nutzungshinweise¶
Nachdem ein aktiver Konnektor auf das Lesen von der frühesten Position umgestellt wurde und gestartet wird, kann der Prozess nicht mehr neu konfiguriert oder abgebrochen werden und wird fortgesetzt, bis der aktuelle Lesevorgang die Position von vor dem Start erreicht hat.
Wenn Sie zur frühesten Position eines aktiven Konnektors wechseln, werden für alle Tabellen, die erneut verarbeitet werden, die vorhandenen Journale beendet und neue Journaltabellen erstellt.
Wenn das Redo-Protokoll Ereignisse aus einer früheren Tabelle enthält, die gelöscht und in der Quelldatenbank neu erstellt wurde, werden beim erneuten Lesen des Streams alle Ereignisse im aktuellen Ziel erneut verarbeitet. Der Konnektor kann nicht zwischen einer früheren und einer aktuellen Quelltabelle unterscheiden, wenn sie denselben Namen aufweisen.