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:

  1. ADD TRANDATA zu den Quelldatenbanktabellen.

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. 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;
  3. 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.

  4. Erstellen Sie mit dem Parameter INITIALLOADOPTIONS USESNAPSHOT einen 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.*;
  5. Starten Sie den Extract für das erstmalige Laden.

    START EXTRACT einit
  6. 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 einit
    INFO    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
  7. 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;
  8. Erstellen Sie einen CDC-Extrakt mit der LSN-Ausgabe aus der Berichtsdatei des Extrakts zum ersten Laden.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. 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.ggcheck
    START rinit
    --Sample Initial Load Replicat Parameter file
        REPLICAT rinit
        USERIDALIAS tgt_alias
        BATCHSQL
        SPLIT_TRANS_RECS 100000
        MAP dbo.*, TARGET dbo.*;
  10. 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.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd