Präzise Instanziierung für SQL Server
Ab Oracle GoldenGate 23.8 kann eine präzise Instanziierung mit dem anfänglichen Ladeextrakt für SQL Server orchestriert werden. Die präzise Instanziierungsmethode ermöglicht das erstmalige Laden von Daten aus einer Quelldatenbank in eine Zieldatenbank, während die Quelldatenbank für Anwendungsaktualisierungen online bleibt. Diese Methode gewährleistet eine präzise Positionierung der Change Data Capture- und Delivery-Prozesse, ohne dass doppelte Daten in der Zieldatenbank vorhanden sind und HANDLECOLLISIONS im Replicat nicht verwendet werden muss.
Um eine genaue Instanziierung für Oracle GoldenGate for SQL Server zu ermöglichen, muss die Quell-SQL Server-Datenbank so eingestellt werden, dass die Snapshot-Isolierung zulässig ist, und der Parameter INITIALLOADOPTIONS USESNAPSHOT wird im anfänglichen Ladeextrakt verwendet. Mit dieser Methode können Sie jede unterstützte Zieldatenbank aus jeder unterstützten SQL Server-Quelldatenbank instanziieren.
Im Folgenden finden Sie ein Beispiel für eine präzise Instanziierungsmethode, die einen Schemadump aus der Quellinstanz verwendet und dann in die Zielinstanz geladen wird. Anschließend wird Oracle GoldenGate für die Replikation von Änderungsdaten konfiguriert:
-
ADD TRANDATAzu den Quelldatenbanktabellen.DBLOGIN USERIDALIAS src_aliasADD TRANDATA dbo.* -
Nachdem TRANDATA abgeschlossen ist, prüfen Sie, ob die Datenbank für die Snapshot-Isolation aktiviert ist, und aktivieren Sie sie manuell, falls nicht.
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON; -
Fügen Sie für Microservices Architecture eine Aufgabe zum endgültigen Löschen von CDC-Daten in WebUI hinzu. Weitere Informationen finden Sie unter CDC-Staging-Daten löschen und Löschprozess.
-
Erstellen Sie mit dem Parameter
INITIALLOADOPTIONS USESNAPSHOTeinen Initial Load Extract.ADD EXTRACT einit, SOURCEISTABLE--Sample Initial Load Extract Parameter File: EXTRACT einit USERIDALIAS tpcc_source2017 INITIALLOADOPTIONS USESNAPSHOT EXTFILE ei, MEGABYTES 500, PURGE TABLE dbo.*; -
Starten Sie den Extract für das erstmalige Laden.
START EXTRACT einit -
Wenn der Extract für das erstmalige Laden abgeschlossen ist und gestoppt wird, zeigen Sie die Berichtsdatei an. Suchen Sie nach einer ähnlichen Meldung wie unten, die beim Erstellen des CDC-Extrakts verwendet wird.
VIEW REPORT einitINFO OGG-05381 A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002. OGG-05379 Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN 0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002 -
Die Quelldatenbankoption zum Zulassen der Snapshot-Isolierung kann jetzt wieder auf OFF gesetzt werden, wenn sie manuell pro Schritt 2 aktiviert wurde.
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF; -
Erstellen Sie einen CDC-Extrakt mit der LSN-Ausgabe aus der Berichtsdatei des Extrakts zum ersten Laden.
ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002ADD EXTTRAIL ea, EXTRACT extcdc -
Erstellen und starten Sie ein Replicat zum erstmaligen Laden, das aus dem Trail liest, der vom Extract zum erstmaligen Laden erstellt wurde.
ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheckSTART rinit--Sample Initial Load Replicat Parameter file REPLICAT rinit USERIDALIAS tgt_alias BATCHSQL SPLIT_TRANS_RECS 100000 MAP dbo.*, TARGET dbo.*; -
Wenn das anfängliche Laden von Replicat die Verarbeitung beendet, erstellen und starten Sie ein CDC-Replicat, das aus dem von CDC Extract erstellten Trail liest.
ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheckSTART EXTRACT extcdcSTART REPLICAT repcd