REGISTER EXTRACT
Dieser Befehl gilt für Oracle AI Database und PostgreSQL.
Oracle AI Database
Dieser Befehl registriert eine primäre Extract-Gruppe, um den integrierten Capture-Modus zu aktivieren, und gibt Optionen für den integrierten Extract aus einer mehrmandantenfähigen Containerdatenbank an
Mit dem Befehl UNREGISTER EXTRACT können Sie die Registrierung einer Extract-Gruppe bei der Datenbank aufheben.
Syntax:
REGISTER EXTRACT group-name
( , DATABASE
( [ CONTAINER container-list |
ADD CONTAINER container-list |
DROP CONTAINER container-list ]
[ SCN scn ]
[ SHARE ( AUTOMATIC | group-name | NONE ) ]
[ [NO]OPTIMIZED ]
) )
Die Containerliste ist eine durch Komma getrennte Liste mit PDB-Namen, z.B. (pdbeast, pdbwest); oder mit Platzhaltern versehene PDB-Namen, z.B. (pdb* or pdb?); oder beides, z.B. (cdbnorth, pdb*). Die unterstützten Platzhalter ? und * werden verwendet.
Mit der Option OPTIMIZED können Sie den schnellen Extract-Start verbessern. Der Standardwert ist NOOPTIMIZED. Die Option OPTIMIZED wirkt sich nur auf eine nicht mehrmandantenfähige Upstream-Konfiguration aus.
DATABASE [
CONTAINER (container[, ...]) |
ADD CONTAINER (container[, ...]) |
DROP CONTAINER (container[, ...])
]
Gültig für Oracle.
Ohne Optionen aktiviert die Option DATABASE das integrierte Capture aus einer Nicht-CDB-Datenbank für die Extract-Gruppe. In diesem Modus wird Extract mit dem Datenbank-Logmining-Server integriert, um Änderungsdaten in Form von Logical Change Records (LCR) zu erhalten. Extract liest keine Redo-Logs. Extract führt die Capture-Verarbeitung, die Transformation und andere erforderliche Aufgaben aus. Die DML-Filterung wird vom Logmining-Server ausgeführt.
Bevor Sie REGISTER EXTRACT mit DATABASE ausgeben, verwenden Sie den Befehl DBLOGIN USERIDALIAS für alle Extracts mit den Berechtigungen, welche über die Prozedur dbms_goldengate_auth.grant_admin_privilege erteilt wurden. Wenn Sie eine Downstreamkonfiguration verwenden, müssen Sie auch den Befehl MININGDBLOGIN ausgeben. Wenn die Quelldatenbank, die Sie registrieren, eine CDB-Datenbank ist und Extract Daten abruft, muss grant_admin_privilege mit dem Parameter CONTAINER=>'ALL aufgerufen werden.
Verwenden Sie nach der Verwendung von REGISTER EXTRACT ADD EXTRACT mit der Option INTEGRATED TRANLOG, um eine Extraktgruppe mit demselben Namen zu erstellen.
CONTAINER (container[, ...])
Wendet die Registrierung auf eine Liste mit integrierbaren Datenbanken (Container) einer mehrmandantenfähigen Containerdatenbank (CDB) an. Geben Sie mindestens eine integrierbare Datenbank als kommagetrennte Liste in Klammern an. Beispiel: CONTAINER (pdbeast, pdbwest). Wenn Sie die integrierbaren Datenbanken auflisten, müssen diese in der Datenbank vorhanden sein. Sie können die integrierbaren Datenbanken auch mit den Platzhaltern * und ? angeben. Beispiel: CONTAINER (pdb*).
ADD CONTAINER (container[, ...])
Fügt die angegebene integrierbare Datenbank einer vorhandenen Extract-Capture-Konfiguration hinzu. Geben Sie eine oder mehrere integrierbare Datenbanken als kommagetrennte Liste in Klammern oder mit den Platzhaltern * und ? an. Beispiel: ADD CONTAINER (pdbeast, pdbwest). Stoppen Sie REGISTER EXTRACT mit dieser Option, bevor Sie Extract-Gruppe mit dieser Option ausgeben.
Bei Oracle wird das Hinzufügen von Containern an einer bestimmten SCN in einem vorhandenen Extract nicht unterstützt.
DROP CONTAINER (container[, ...])
Löscht die angegebene integrierbare Datenbank aus einer vorhandenen Extract-Capture-Konfiguration. Geben Sie eine oder mehrere integrierbare Datenbanken als kommagetrennte Liste in Klammern oder mit den Platzhaltern * und ? an. Beispiel: DROP CONTAINER (pdbeast, pdbwest).
Der Extract wird nach Ausführung der Option drop container erst dann vollständig registriert, wenn der Extract gestartet wurde und eine festgeschriebene Transaktion aus einer gelöschten integrierbaren Datenbank liest, die größer als die Extract-Checkpoint-SCN ist. Extract löscht die Container dann vollständig und wird mit einer Meldung heruntergefahren.
Stoppen Sie REGISTER EXTRACT mit dieser Option, bevor Sie Extract-Gruppe mit dieser Option ausführen.
SCN system_change_number
Registriert Extract so, dass Capture bei einer bestimmten Systemänderungsnummer (SCN) in der Vergangenheit begonnen wird. Ohne diese Option beginnt der Capture-Prozess ab dem Zeitpunkt, zu dem REGISTER EXTRACT ausgegeben wird. Die angegebene SCN muss mit der Start-SCN eines Dictionary-Erstellungsvorgangs in einer Logdatei übereinstimmen. Sie können die folgende Abfrage ausgeben, um alle gültigen SCN-Werte aus Dictionary Dumps auf CDB-Ebene zu ermitteln:
SELECT first_change#
FROM v$archived_log
WHERE dictionary_begin = 'YES' AND
standby_dest = 'NO' AND
name IS NOT NULL AND
status = 'A';
Diese Abfrage funktioniert jedoch nicht, wenn ein Extract pro PDB registriert wird. Um die Start-SCN der verfügbaren Dictionary-Dumps für eine bestimmte PDB zu identifizieren, können Sie die folgenden Schritte ausführen:
-
Stellen Sie eine Verbindung zur PDB her.
-
Führen Sie den Befehl
show con_idaus, um die PDB-ID abzurufen. -
Führen Sie die folgende Abfrage aus, um alle verfügbaren Dictionary Dumps in absteigender Reihenfolge aufzulisten:
SELECT DATE_OF_BUILD, START_SCN FROM dba_logmnr_dictionary_buildlog WHERE CONTAINER_ID = PDB identifier ORDER BY DATE_OF_BUILD DESC;
Wenn der SCN-Wert allein verwendet wird, ist er die Start-SCN des Dictionary-Erstellungsvorgangs in einer Logdatei.
Wenn der Werte zusammen mit SHARE AUTOMATIC oder SHARE extract_name verwendet werden, ist die angegebene SCN die start_scn für die Capture-Session. Dazu gelten die folgenden Einschränkungen:
-
Muss kleiner oder gleich der aktuellen SCN sein.
-
Muss größer als der Mindestwert (erste SCN) der vorhandenen Captures sein.
{SHARE [ AUTOMATIC | extract | NONE]}
Gültig für Oracle.
Registriert den Extract so, dass er zu einem vorhandenen LogMiner Data Dictionary Build mit einer angegebenen SCN zurückkehrt und einen Klon erstellt. So können Extracts durch Nutzung vorhandener Dictionary Builds schneller erstellt werden.
SHARE kann nicht in einer CDB verwendet werden.
Die folgenden Befehle werden unterstützt:
REGISTER EXTRACT extract database SCN #### SHARE AUTOMATIC
REGISTER EXTRACT extract database SCN #### SHARE extract
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
Oder
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
Die folgenden Befehle werden dagegen in einer Downstreamkonfiguration nicht unterstützt:
REGISTER EXTRACT extract DATABASE SHARE AUTOMATIC
REGISTER EXTRACT extract DATABASE SHARE extract
AUTOMATIC
Erstellt einen Klon aus dem nächstgelegenen vorhandenen Capture. Wird kein geeigneter Klonkandidat gefunden, wird ein neuer Build erstellt.
extract
Erstellt einen Klon aus der Capture-Session für den angegebenen Extract. Wenn das nicht möglich ist, tritt ein Fehler auf, und die Registrierung wird nicht abgeschlossen.
NONE
Damit wird kein Klon oder neuer Build erstellt (Standardwert).
Bei einer Downstreamkonfiguration SHARE-Klausel muss die SCN-Klausel zusammen mit der Extract-Registrierung verwendet werden.
PostgreSQL
Dieser Befehl erstellt einen Replikations-Slot in der verbundenen Quelldatenbank und stellt sicher, dass die PostgreSQL-Datenbank das Transaktionslog erst löscht, wenn der Replikations-Slot verschoben oder entfernt wird. Sie müssen den Befehl REGISTER EXTRACT vor dem Befehl ADD EXTRACT ausführen.
Sie müssen sich mit DBLOGIN USERIDALIAS bei der Datenbankinstanz PostgreSQL anmelden, bevor Sie den Extract registrieren.
Sie können einen Extract auch über die Weboberfläche von Oracle GoldenGate Administration Service registrieren. Weitere Informationen finden Sie unter Extract für PostgreSQL registrieren in der Dokumentation zu Oracle GoldenGate Microservices.
Sie können auch Streamingoptionen für PostgreSQL mit dem Parameter TRANLOGOPTIONS STREAMINGOPTIONS einrichten, um Parameter beim Hochfahren der Replikation bereitzustellen. Weitere Einzelheiten finden Sie unter TRANLOGOPTIONS.
Hinweis: Ab Oracle GoldenGate-Release 21c (21.3) ist die Eingabe von database_name nicht mehr erforderlich.
Syntax:
REGISTER EXTRACT group_name
oder
REGISTER EXTRACT group_name PGPLUGINTYPE pgoutput;
Hinweis: Um sich explizit beim Plug-in pgoutput zu registrieren, müssen Sie den Plug-in-Typ pgoutput im Befehl angeben. Wenn Sie das Plug-in pgoutput nicht auswählen, wird der Standard-Plug-in-Typ test_decoding festgelegt.
oder
REGISTER EXTRACT group_name MIGRATE replication_slot_name
oder
REGISTER EXTRACT group_name with DATABASE database_name
oder
group_name
Der Name der zu registrierenden Extract-Gruppe. Verwenden Sie keinen Platzhalter.
MIGRATE replication_slot_name
Gültig für PostgreSQL.
Bei einem Oracle GoldenGate-Upgrade, bei dem das Installationsverzeichnis für die Extract-Prozesse unterschiedlich ist, ist REGISTER EXTRACT mit der Option MIGRATE erforderlich.
replication_slot_name ist der Name eines vorhandenen Replikations-Slots in der Datenbank. Mit diesem Befehl wird ein neuer Replikationsslot erstellt, indem die LSN-Informationen im ursprünglichen Slot replication_slot_name kopiert wurden. Der kopierte Replikationsslot beginnt bei derselben LSN wie der ursprüngliche Slot.
Hinweis: Der ursprüngliche Replikations-Slot muss in derselben Datenbank vorhanden sein, aus der ein neuer Slot erstellt werden soll.
PGPLUGINTYPE test_decoding | pgoutput
Gültig für PostgreSQL.
Diese Option wurde hinzugefügt, um die Auswahl des Plug-ins für die logische Dekodierung für PostgreSQL zu ermöglichen. Sie können test_decoding oder pgoutput auswählen. Standardmäßig registriert der CDC-Extrakt den Plug-in-Typ test_decoding. Wenn Sie also pgplugintype nicht als pgoutput angeben, wird test_decoding automatisch verwendet.
Beispiele
REGISTER EXTRACT exte LOGRETENTION
REGISTER EXTRACT exte DATABASE
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbwest, pdbsouth)
REGISTER EXTRACT exte DATABASE ADD CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE DROP CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE SCN 136589
Die Start-SCN des Dictionary Builds ist 136589.
REGISTER EXTRACT exte DATABASE SCN 67000 SHARE extw
Die gültige Start-SCN (in diesem Fall 67000) ist nicht unbedingt die aktuelle SCN.
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbeast, pdbsouth) SCN 136589
Für PostgreSQL mit dem Plug-in-Typ PGOUTOPUT:
REGISTER EXTRACT exte PGPLUGINTYPE pgoutput WITH DATABASE hr