Instanciation précise pour PostgreSQL à l'aide de l'extraction de chargement initial

La synchronisation des données d'une base de données PostgreSQL source vers une cible Oracle GoldenGate peut être effectuée avec la méthode facultative d'utilisation d'une instanciation précise. Cette méthode a été introduite avec Oracle GoldenGate 21c (21.8.0).

L'instanciation précise présente l'avantage de ne pas nécessiter de gestion des collisions dans le processus Replicat cible. Ceci est important pour les cibles qui ne prennent pas en charge la gestion des collisions, telles que les fichiers plats. Cette méthode utilise un cliché de base de données pour synchroniser la sortie de l'extraction de chargement initial avec la position de départ de l'extraction de capture des données de modification. Ce cliché est géré par l'extraction de chargement initial. Il n'est donc pas possible que plusieurs extractions de chargement initial utilisent le même cliché. Par conséquent, cette méthode n'est pas prise en charge lors de l'utilisation de plusieurs extractions de charge initiale pour paralléliser la charge globale.

L'exemple suivant utilise le client d'administration dans l'architecture de microservices. Il est supposé que vous êtes familiarisé avec Oracle GoldenGate et que vous avez configuré correctement les bases de données source et cible, avec tous les prérequis requis. Ces étapes nécessitent au minimum Oracle GoldenGate 21c (21.8.0) ou une version supérieure.

Pour configurer les processus de chargement et de synchronisation initiaux de bout en bout à l'aide de la méthode d'instanciation précise, procédez comme suit :

  1. Inscrivez une extraction de capture de données de modification (CDC) avec la base de données PostgreSQL source.

    DBLOGIN USERIDALIAS src_alias
    REGISTER EXTRACT extecdc

    Dans cet exemple, extecdc est le nom de l'extraction. Pour l'architecture de microservices, utilisez DBLOGIN USERIDALIAS pour configurer la connexion à la base de données.

  2. Créez une extraction de chargement initial.

    ADD EXTRACT extinit, SOURCEISTABLE
    EDIT PARAMS extinit

    Le fichier de paramètres Extract de chargement initial doit contenir le paramètre INITIALLOADOPTIONS USESNAPSHOT. Exemple :

    EXTRACT extinit
    INITIALLOADOPTIONS USESNAPSHOT
    SOURCEDB USERIDALIAS src_alias
    EXTFILE west/ei, MEGABYTES 500, PURGE
    TABLE public.*;

    Pour en savoir plus sur l'utilisation de ce paramètre avec l'option USESNAPSHOT, reportez-vous à INITIALLOADOPTIONS.

  3. Démarrez le processus Extract de chargement initial.

    START EXTRACT extinit
  4. Une fois le chargement initial de l'extraction terminé et arrêté, vérifiez son fichier d'état pour déterminer le LSN de positionnement à utiliser par l'extraction CDC.

    Par exemple, dans la sortie suivante, le LSN de positionnement à utiliser par l'extraction CDC sera '0/173F770'.

    INFO    OGG-100001 A consistent point is
    established in database 'tpcc' using replication slot ogg_initx_1234 at LSN 0/173F770
    and snapshot name '00000003-00000026-1'.
    INFO    OGG-100002 Create or position the CDC
    extract to LSN 0/173F770. Example: ADD EXTRACT <cdc-extract> TRANLOG LSN 0/173F770
    
    or ALTER EXTRACT <cdc-extract> LSN 0/173F770.
  5. Créez et démarrez un processus Replicat de chargement initial qui lit la trace à partir du processus Extract de chargement initial.

    DBLOGIN USERIDALIAS tgt_alias
    ADD CHECKTPOINTTABLE ggs.checkpoint
    ADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repinit

    Voici un exemple du fichier de paramètres Replicat de chargement initial :

    REPLICAT repinit
    TARGETDB USERIDALIAS tgt_alias
    BATCHSQL
    MAP public.*, TARGET public.*;
  6. Ajoutez et démarrez l'extraction CDC (extecdc) à l'aide de la valeur LSN cohérente mentionnée dans le fichier de rapport d'extraction de chargement initial.

    ADD EXTRACT extecdc, TRANLOG, LSN 0/173F770
    ADD EXTTRAIL ea, EXTRACT extecdc
    START EXTRACT extecdc

    Voici un exemple de fichier de paramètres d'extraction CDC :

    EXTRACT extecdc
    SOURCEDB USERIDALIAS src_alias
    EXTTRAIL west/ea
    TABLE public.*;
  7. Lorsque le processus Replicat de chargement initial a traité tous les enregistrements de chargement initial, ajoutez et démarrez un processus Replicat CDC qui lit la trace à partir de l'extraction CDC.

    ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpoint
    START REPLICAT repecdc
  8. Surveillez le décalage entre l'extraction CDC et la réplication CDC, et lorsqu'ils sont tous deux proches de zéro seconde, le flux de données de la base de données source vers la base de données cible doit être proche en temps réel.