ADD EXTRACT

Gültig für unterstützte Datenbanken Db2, HP NonStop, MySQL, Oracle, PostgreSQL, SQL Server, Sybase ASE und Yugabyte.

Mit ADD EXTRACT können Sie einen Capture-Prozess der Quelldatenbank erstellen, der als Extract bezeichnet wird. Der Extract kann als Datenänderungs-Extract erstellt werden, bei dem aktuelle Transaktionen aus dem Datenbanklog oder je nach Datenbankanbieter auch auf andere Weise erfasst werden. Alternativ dazu kann er auch als Extract für anfängliches Laden erstellt werden, bei dem die in den Datenbanktabellen vorhandenen Datensätze erfasst werden.

Es wird empfohlen, pro Quelldatenbank nur einen Datenänderungs-Extract oder einen Extract für anfängliches Laden zu erstellen. In seltenen Fällen kann jedoch durch Verwendung mehrerer Extracts pro Datenbank der Capture-Durchsatz verbessert werden.

Oracle GoldenGate kann eine hohe Anzahl nebenläufiger Extract- und Replicat-Prozesse pro Deployment unterstützen, abhängig von den im Betriebssystem verfügbaren Ressourcen. Es wird jedoch empfohlen, beim Hinzufügen von Extract- oder Replicat-Prozessen die Systemressourcen zu überwachen und die Gesamtanzahl an Prozessen pro Deployment auf höchstens 300 zu begrenzen.

Hinweis:

Syntax

ADD EXTRACT extract-name
|             { SOURCEISTABLE |
|              [ INTEGRATED ] TRANLOG
|               {, BEGIN     [ NOW | yyyy-mm-ddThh:mm.ssZ | LSN value | EOL | EOF | EXTRBA archive-offset-number |  SCN  scn }
|               [, DESC        description    ]
|               [, CRITICAL    [ YES | NO ]     ]
|               [, ENCRYPTIONPROFILE     encryption-profile-name]
|               [, GTIDSET gtidset
|               [, PROFILE
|                 [ AUTOSTART   [ YES | NO ]
|                       [ DELAY     delay-number   ] ]
|                 [ AUTORESTART [ YES | NO ]
|                       [ RETRIES          retries-number ]
|                       [ WAITSECONDS      wait-number    ]
|                       [ RESETSECONDS     reset-number   ]
|                       [ DISABLEONFAILURE [ YES | NO ] ] ] ]
|               [ LOGNUM lognum]
|               [ LOGPOS logpos]

extract_name

Der Name eines Extracts. Er kann bis zu acht Zeichen enthalten. Informationen hierzu finden Sie unter Namen für Prozesse und Dateien auswählen.

SOURCEISTABLE

Erstellt eine Extract-Aufgabe, die ganze Datensätze für einen anfänglichen Ladevorgang mit Oracle GoldenGate aus den angegebenen Tabellen extrahiert. Geben Sie bei Verwendung von SOURCEISTABLE keine Serviceoptionen ein.

Aufgabenparameter müssen in der Parameterdatei angegeben werden. Informationen hierzu finden Sie in der Dokumentation für Oracle GoldenGate-Microservices in der Dokumentation für Oracle GoldenGate-Microservices.

TRANLOG [bsds_name]

Verwenden Sie diese Option für alle Datenbanken. Für TRANLOG ist die Option BEGIN erforderlich.

(Db2 auf z/OS) Sie können die Option bsds_name für Db2 auf einem z/OS-System verwenden, um den Bootstrap-Dataset-Dateiname des Transaktionslogs anzugeben, obwohl diese nicht erforderlich ist und nicht verwendet wird. Sie müssen keine vorhandenen TRANLOG-Parameter ändern.

(Oracle) Extract liest die Oracle-Redo-Logs direkt. Eine alternative Konfiguration finden Sie unter INTEGRATED TRANLOG.

INTEGRATED TRANLOG

Gültig für Oracle.

Fügt Extract im integrierten Capture-Modus hinzu. In diesem Modus wird Extract mit dem Datenbank-Logmining-Server integriert, der Logical Change Records (LCR) direkt an Extract übergibt. Bevor Sie INTEGRATED TRANLOG verwenden, geben Sie den Befehl REGISTER EXTRACT aus.

BEGIN {NOW yyyy-mm-ddthh:mm.ssZ}

Gibt einen Zeitstempel in der Datenquelle an, bei dem die Verarbeitung beginnen soll.

Hinweis: Sie müssen den Extract registrieren, bevor Sie den Extract zu einem bestimmten Zeitstempel positionieren.

EXTRBA archive-offset_number

Gültig für Db2 z/OS.

Gibt die relative Byteadresse in einem Transaktionslog an, bei der mit der Datenerfassung begonnen werden soll.

Das erforderliche Format 0Xnnn ist. Dabei ist nnn eine 1- bis 20-stellige Hexadezimalzahl. (Das erste Zeichen ist die Ziffer Null, und das zweite Zeichen kann ein Groß- oder Kleinbuchstabe x sein.)

EOL

Gültig für Db2 for i, Db2 LUW, MySQL, PostgreSQL und SQL Server.

Legt fest, dass die Verarbeitung am Ende der Logdateien (oder Journale) beginnt, wo der nächste Datensatz geschrieben wird. Aktive Transaktionen werden nicht erfasst.

Bei Db2 LUW wird festgelegt, dass die Verarbeitung beim aktiven LRI-Wert in den Logdateien beginnt. Der aktive LRI-Wert ist die Position am Ende der Logdateien, in die der nächste Datensatz geschrieben wird. Aktive Transaktionen werden nicht erfasst.

Bei PostgreSQL ist DBLOGIN für die Positionierung nach EOL erforderlich.

Für MySQL wird die Position entsprechend dem Dateiende bestimmt, und Transaktionen werden ab dort gelesen. Die EOL-Position ist nicht genau, wenn kontinuierlich Daten in das binäre Log geschrieben werden.

EOF

Gültig für MySQL, Db2 z/OS, Db2 LUW, SQL Server, PostgreSQL, Oracle GoldenGate for DAA.

LSN value

Gültig für Db2 z/OS, PostgreSQL und SQL Server.

Gibt die Transaktions-LSN an, bei der die Datenerfassung begonnen werden soll. Ein Alias für diese Option ist EXTLSN. Die Positionierung bei einer LSN ist präzise.

Für Db2 z/OS kann der LSN-Wert entweder eine Reihe hexadezimaler Ziffern oder eine Reihe von Dezimalzahlen sein. Im hexadezimalen Format muss 0X oder 0x vorangestellt sein, gefolgt von 1 bis 20 Hexadezimalziffern: 0-9, a-g oder A-G. Im Dezimalformat gibt es kein Präfix, und der Wert enthält 1-25 Dezimalzahlen von 0 bis 9.

Bei PostgreSQL kann der LSN-Wert hi oder lo lauten. Setzen Sie den Wert als hi für den Einstiegspunkt der Logdatei. Lo ist der Offset in der Logdatei. Die LSN-Position muss zwischen der Neustartposition des Replikationsslots und dem aktuellen Speicherort des Write-Ahead-Logs liegen. Wenn die angegebene Position selbst im genannten Bereich liegt, löst Extract einen Fehler aus.

Für SQL Server gibt LSN die Transaktion LSN an, bei der die Datenerfassung begonnen werden soll. Ein Alias für diese Option ist EXTLSN.

Die angegebene LSN muss als gültige tran_begin_lsn in der Systemtabelle cdc.lsn_time_mapping vorhanden sein. Andernfalls wird versucht, die Extract-Positionation nach dem angegebenen LSN-Wert durchzuführen.

Gültige LSN-Spezifikationen für SQL Server umfassen:

Mit der folgenden Abfrage finden Sie die minimale verfügbare LSN:

SELECT min([tran_begin_lsn]) FROM [cdc].[lsn_time_mapping] with (nolock) where tran_id <> 0x00

Die folgenden Beispiele zeigen die Verwendung eines LSN-Wertes für Db2 z/OS:

Beispiel 1:

ADD EXTRACT extn TRANLOG, LSN 0xDEE40E4F27A3245400

Beispiel 2:

ADD EXTRACT extn TRANLOG, LSN 22216433159121980904448

Das folgende Beispiel zeigt den LSN-Wert für SQL Server:

ADD EXTRACT extn TRANLOG, LSN 0X00000d7e:0000036b:0001

LRI value

Gültig für Db2 LUW. Gibt eine Startposition in den Transaktionslogs beim Start von Extract an.

Sie können die LRI-Option für Db2 LUW-Systeme verwenden, um die LRI anzugeben, bei dem Extrakt mit der Erfassung von Datensätzen aus dem Transaktionslog beginnen kann. Sie können die LRI mit dem Db2-Utility db2logsForRfwd abrufen. Dieses Utility stellt die in den Db2-Logs vorhandenen LRI-Bereiche bereit.

Hinweis: Obwohl Extract bei einer bestimmten LRI positioniert werden können, ist LRI möglicherweise nicht die erste Lri, die von Extract verarbeitet wird. Zahlreiche Datensatztypen in den Logdateien werden von Extract ignoriert, wie interne Db2-Logdatensätze. Extract meldet die tatsächliche Start-LRI in der Extract-Berichtsdatei.

LOGNUM lognum

Gültig für MySQL.

Das ist die Logdateinummer. ADD EXTRACT verläuft nicht erfolgreich, wenn der LOGNUM-Wert Nullen vor dem Wert enthält. Beispiel: ADD EXTRACT ext1, TRANLOG, LOGNUM 000001, LOGPOS 0 verläuft nicht erfolgreich. Setzen Sie LOGNUM stattdessen auf 1, damit dieses Beispiel erfolgreich ausgeführt wird.

LOGPOS logpos

Das 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 Sie LOGPOS auf 0.

SEQNO sequence_number

Gültig für Db2 for i. Startet Capture bei oder direkt nach einer Systemsequenznummer (einer Dezimalzahl mit bis zu 20 Ziffern).

SCN value

Gültig für Oracle.

Startet Extract bei der Transaktion im Redo-Log mit der angegebenen Oracle-Systemänderungsnummer (SCN). Bei einem Extract im integrierten Modus muss der SCN-Wert größer als die SCN sein, an der der Extract bei der Datenbank registriert wurde. Weitere Informationen finden Sie unter REGISTER EXTRACT.

PARAMS file_name

Gibt den vollständigen Pfadnamen einer Extract-Parameterdatei in einem anderen Speicherort als dem Standard dirprm im Oracle GoldenGate-Verzeichnisan.

REPORT file_name

Gibt den vollständigen Pfadnamen einer Extract-Berichtsdateien in einem anderen Speicherort als dem Standard dirrpt im Oracle GoldenGate-Verzeichnis.

DESC ‘description’

Gibt eine Beschreibung der Gruppe ein, wie 'Extracts account_tab on Serv1'. Schließen Sie die Beschreibung in einfache Anführungszeichen ein.

ENCRYPTIONPROFILE

Gibt den Namen des Oracle GoldenGate-Verschlüsselungsprofils für den jeweiligen Client an.

GTIDSET gtidset

Gültig für MySQL.

Gibt die anfängliche Positionierung von Extract mit dem Positionstyp als GTID-Set für GTID-basierte Erfassung für MySQL an. Die unterstützten MySQL-Quellen für das GTID-Set sind MySQL Server 8.0 und höher. Die maximal unterstützte GTID-Setgröße ist 64 KB.

Syntax:

ADD EXTRACT extract_name, TRANLOG, GTIDSET gtidset

CRITICAL

Gibt an, ob der Prozess für das Deployment kritisch ist.

PROFILE

Name des Profils für den automatischen Start.

AUTOSTART

Gibt an, ob der verwaltete Prozess automatisch beim Start des Administrationsservice gestartet werden muss. Der Standardwert ist YES.

DELAY

Wartezeit in Sekunden bis zum Starten des Prozesses.

AUTORESTART

Steuert, wie der Prozess nach einer Beendigung neu gestartet wird.

RETRIES

Die maximale Anzahl der Wiederholungen bei Neustarts der Aufgabe, bevor Wiederholungsversuche abgebrochen werden. Diese Einstellung ist optional.

WAITSECONDS

Die Dauer (in Sekunden), während der Wiederholungsversuche gezählt werden.

RESETSECONDS

Setzt die Dauer, während der Wiederholungsversuche gezählt werden, zurück.

DISABLEONFAILURE

Bei TRUE wird die Aufgabe deaktiviert, nachdem die maximale Anzahl an Wiederholungen erreicht wurde.

SOCKSPROXY {host_name IP_address}[:port] [PROXYCSALIAS credential_store_alias [PROXYCSDOMAIN credential_store_domain]

Wird für einen Alias-Extract verwendet. Gibt den DNS-Hostnamen oder die IP-Adresse des Proxyservers an. Sie können eine dieser Optionen zum Definieren des Hosts verwenden, müssen aber die IP-Adresse angeben, wenn der DNS-Server nicht erreichbar ist. Verwenden Sie entweder eine IPv6 oder IPv4 zugeordnete Adresse als IP-Adresse, abhängig vom Stack des Zielsystems. Sie müssen die PROXYCSALIAS angeben. Darüber hinaus können Sie den zu verwendenden Port und die Zugangsdatenspeicherdomain angeben.

Beispiele


Im folgenden Beispiel wird eine Extract-Gruppe mit dem Namen exte erstellt, die Datenbankänderungen aus den Transaktionslogs erfasst. Die Extraktion beginnt mit Datensätzen, die zum Zeitpunkt der Erstellung und des Starts der Extract-Gruppe mit ADD EXTRACT generiert wurden.

ADD EXTRACT extn, TRANLOG, BEGIN NOW

Im folgenden Beispiel wird ein Extract-Gruppenname extw erstellt, um die Datenbankänderungen durch Positionierung des Extracts an einem bestimmten Zeitstempel aus den Transaktionslogs abzurufen:

ADD EXTRACT extn, TRANLOG, BEGIN NOW
REGISTER EXTRACT extn DATABASE
ALTER EXTRACT extn BEGIN 2020-08-02T06:05:30.000Z

Mit dem folgenden Befehl erstellen Sie eine integrierte Extract-Gruppe.

ADD EXTRACT extn, INTEGRATED TRANLOG, BEGIN NOW

Mit folgendem Befehl erstellen Sie einen Extract für anfängliches Laden namens extei.

ADD EXTRACT extn, SOURCEISTABLE

Die folgenden Beispiele umfassen alle Kombinationen der gültigen Formate von GTID-Sets.

Beispiel 1:

ADD EXTRACT exte, TRANLOG, GTIDSET "E11FA47-71CA-11E1-9E33-C80AA9429562:4"

Beispiel 2:

ADD EXTRACT exts, TRANLOG, GTIDSET "3E11FA47-71CA-11E1-9E33-C80AA9429562:1-10"

Beispiel 3:

ADD EXTRACT extn, TRANLOG, GTIDSET "3E11FA47-71CA-11E1-9E33-C80AA9429562:1-3:11:47-49"

Beispiel 4:

ADD EXTRACT extw, TRANLOG, GTIDSET "2174B383-5441-11E8-B90A-C80AA9429562:1-3,24DA167-0C0C-11E8-8442-00059A3C7B00:1-19"

Hinweis: Wie in Beispiel 4 gezeigt, wird dieses GTID-Set, wenn das GTID-Set mehrere Uuids enthält, zur Bildung einer REST-API-Anforderung in mehrere GTID-Sets mit einem Komma-Trennzeichen unterteilt.


Die folgenden Beispiele erstellen und positionieren Extract bei einer bestimmten Oracle-Systemänderungsnummer (SCN) im Redo-Log.

ADD EXTRACT extn TRANLOG SCN 123456
ADD EXTRACT extn INTEGRATED TRANLOG SCN 123456

Mit dem folgenden Beispiel erstellen Sie einen Extract auf einem Db2 LUW-System.

ADD EXTRACT extn, TRANLOG LRI 8066.322711

Mit dem folgenden Befehl erstellen Sie einen Extract mit der Autostart-Option über Admin Client.

ADD EXTRACT extn, TRANLOG , BEGIN NOW , AUTOSTART yes