Instanciation précise pour SQL Server

A partir d'Oracle GoldenGate 23.8, une instanciation précise peut être orchestrée à l'aide de l'extraction de chargement initial pour SQL Server. La méthode d'instanciation précise permet le chargement initial des données d'une base de données source vers une base de données cible, tandis que la base de données source reste en ligne pour les mises à jour d'application. Cette méthode garantit un positionnement précis des processus de capture et de transmission des données de modification sans avoir de données en double dans la base de données cible et sans avoir à utiliser HANDLECOLLISIONS dans le processus Replicat.

L'instanciation précise d'Oracle GoldenGate pour SQL Server nécessite de définir la base de données SQL Server source afin de permettre l'isolement des clichés et d'utiliser le paramètre INITIALLOADOPTIONS USESNAPSHOT dans l'extraction de chargement initial. Cette méthode peut être utilisée pour instancier toute base de données cible prise en charge à partir de n'importe quelle base de données source SQL Server prise en charge.

Voici un exemple de méthode d'instanciation précise utilisant un fichier dump de schéma à partir de l'instance source, puis chargé dans l'instance cible, suivi de la configuration d'Oracle GoldenGate pour la réplication des données de modification :

  1. ADD TRANDATA vers les tables de base de données source.

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. Une fois TRANDATA terminé, vérifiez que la base de données est activée pour l'isolement des clichés et, dans le cas contraire, activez-la manuellement.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. Pour l'architecture de microservices, ajoutez une tâche Purger les données CDC dans WebUI. Pour en savoir plus, reportez-vous à Purger les données d'import CDC et à Purger le processus.

  4. Créez une extraction de chargement initial à l'aide du paramètre 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. Démarrez l'extraction de chargement initial.

    START EXTRACT einit
  6. Lorsque l'extraction de chargement initial est terminée et s'arrête, affichez le fichier de rapport, à la recherche d'un message similaire à celui ci-dessous, qui sera utilisé lors de la création de l'extraction 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'option de base de données source permettant l'isolement des clichés peut désormais être désactivée si elle a été activée manuellement à l'étape 2.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. Créez une extraction CDC à l'aide de la sortie LSN du fichier de rapport de l'extraction de chargement initial.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. Créez et démarrez un processus Replicat de chargement initial qui lit à partir de la trace créée par le processus Extract de chargement initial.

    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. Lorsque le processus Replicat de chargement initial termine le traitement, créez et démarrez un processus Replicat CDC qui lit à partir de la trace créée par l'extraction CDC.

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