Stellenauszug zu einem bestimmten Startpunkt
Sie können den Extract an einen bestimmten Startpunkt in den Transaktionsprotokollen positionieren. Sie können dies über die Weboberfläche, den Admin-Client oder den REST-API-Serviceendpunkt festlegen.
Wenn Sie einen Extract erstellen, müssen Sie die folgenden Schritte ausführen, um den neu erstellten Extract an einer bestimmten Position in der Datenbank zu starten:
-
Fügen Sie den Extract mit der Option
BEGIN NOWhinzu, wie im folgenden Beispiel dargestellt:ADD EXTRACT extn, TRANLOG, BEGIN NOW -
Registrieren Sie den Extract.
REGISTER EXTRACT extn DATABASE -
Ändern Sie diesen Extract, und geben Sie den Zeitstempel an.
ALTER EXTRACT extn BEGIN 2020-08-02T06:05:30.000Z
Weboberfläche
So positionieren Sie einen Extract an einen bestimmten Startpunkt in der Datenbank:
-
Stoppen Sie den Extract, wenn er ausgeführt wird.
-
Klicken Sie in der Spalte "Aktionen" auf das Dreipunktsymbol und dann auf Ändern.
-
Klicken Sie im Dialogfeld Altersextraktion auf die Option Anfang, und wählen Sie Benutzerdefinierte Zeit aus.
-
Wählen Sie den Zeitstempel im Feld Benutzerdefinierte Zeit aus, und wählen Sie die Zeitzone aus.
-
Klicken Sie auf Weiterleiten.
-
Starten Sie den Extract neu, indem Sie in der Spalte Aktion auf das Symbol "Wiedergeben" klicken.
Admin-Client
So positionieren Sie einen Extract mit den ADD/ALTER EXTRACT-Befehlen:
{ADD | ALTER EXTRACT} *group*, LOGNUM *log_num*, LOGPOS *log_pos*
-
group ist der Name der Oracle GoldenGate Extract-Gruppe, für die die Startposition erforderlich ist.
-
LOGNUMist die Logdateinummer. Beispiel: Wenn der Name der erforderlichen Logdateitest.000034lautet, lautet derLOGNUM-Wert 34. Extract sucht nach dieser Logdatei. Der BefehlADD EXTRACTverläuft nicht erfolgreich, wenn derLOGNUM-Wert Nullen vor dem Wert enthält. Beispiel:ADD EXTRACT extn, TRANLOG, LOGNUM 000001, LOGPOS 0verläuft nicht erfolgreich. Setzen SieLOGNUMstattdessen auf 1, damit dieses Beispiel erfolgreich ausgeführt wird. -
LOGPOS ist ein Ereignis-Offset-Wert innerhalb der Logdatei, der einen bestimmten Transaktionsdatensatz identifiziert. Ereignis-Offset-Werte werden im Headerabschnitt eines Logdatensatzes gespeichert. Zur Positionierung am Anfang einer
binlog-Datei setzen SieLOGPOSauf 0.
MySQL Überlegungen zur Positionierung von Extract an einen bestimmten Startpunkt
In MySQL-Logs kann ein Ereignis-Offsetwert nur innerhalb einer bestimmten Binärdatei eindeutig sein. Die Kombination aus Positionswert und Lognummer kennzeichnet einen Transaktionsdatensatz eindeutig. Die maximale Länge der Lognummer beträgt 8 Byte ohne Vorzeichen, und die maximale Länge des Logoffsets beträgt 8 Byte ohne Vorzeichen. Lognummer und Logversatz werden durch ein Pipe-Trennzeichen ("|") getrennt. Transaktionsdatensätze, die nach dieser Position im angegebenen Log verfügbar sind, werden von Extract erfasst. Außerdem können Sie einen Extract mit einem Zeitstempel positionieren.