Creazione precisa dell'istanza per SQL Server

A partire da Oracle GoldenGate 23.8, è possibile orchestrare una creazione di istanze precisa utilizzando Extract di caricamento iniziale per SQL Server. Il metodo di creazione delle istanze preciso consente il caricamento iniziale dei dati da un database di origine a un database di destinazione mentre il database di origine rimane in linea per gli aggiornamenti delle applicazioni. Questo metodo garantisce un posizionamento preciso dei processi di acquisizione e consegna dei dati di modifica senza avere dati duplicati nel database di destinazione e senza la necessità di utilizzare HANDLECOLLISIONS in Replicat.

La creazione di un'istanza precisa per Oracle GoldenGate per SQL Server richiede l'impostazione del database SQL Server di origine per consentire l'isolamento dello snapshot e utilizza il parametro INITIALLOADOPTIONS USESNAPSHOT all'interno dell'estrazione del caricamento iniziale. Questo metodo può essere utilizzato per creare un'istanza di qualsiasi database di destinazione supportato da qualsiasi database di origine di SQL Server supportato.

Di seguito è riportato un esempio di metodo di creazione di istanze preciso utilizzando un dump dello schema dall'istanza di origine, quindi caricato nell'istanza di destinazione, seguito dalla configurazione di Oracle GoldenGate per la replica dei dati di modifica.

  1. ADD TRANDATA nelle tabelle del database di origine.

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. Al termine di TRANDATA, verificare che il database sia abilitato per l'isolamento dello snapshot e, in caso contrario, abilitarlo manualmente.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. Per l'architettura dei microservizi, aggiungere un task Rimuovi dati CDC in WebUI. Per ulteriori informazioni, vedere Rimuovi dati area intermedia CDC e Rimuovi processo.

  4. Creare un'estrazione caricamento iniziale utilizzando il parametro INITIALLOADOPTIONS USESNAPSHOT.

    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. Avviare l'estrazione del carico iniziale.

    START EXTRACT einit
  6. Quando l'estrazione del caricamento iniziale viene completata e arrestata, visualizzare il file del report, cercando un messaggio simile a quello riportato di seguito, che verrà utilizzato durante la creazione dell'estrazione CDC.

    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. L'opzione del database di origine per consentire l'isolamento dello snapshot ora può essere impostata su OFF, se è stata abilitata manualmente per ogni passo 2.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. Creare un'estrazione CDC utilizzando l'output LSN dal file report di Extract del caricamento iniziale.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. Creare e avviare un Replicat di caricamento iniziale che legge dal trail creato dall'estrazione del caricamento iniziale.

    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. Quando il caricamento iniziale Replicat termina l'elaborazione, creare e avviare un Replicat CDC che legge dal trail creato da CDC Extract.

    ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd