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 :
-
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 extecdcDans cet exemple,
extecdcest le nom de l'extraction. Pour l'architecture de microservices, utilisezDBLOGIN USERIDALIASpour configurer la connexion à la base de données. -
Créez une extraction de chargement initial.
ADD EXTRACT extinit, SOURCEISTABLE EDIT PARAMS extinitLe 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. -
Démarrez le processus Extract de chargement initial.
START EXTRACT extinit -
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. -
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_aliasADD CHECKTPOINTTABLE ggs.checkpointADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpointSTART REPLICAT repinitVoici un exemple du fichier de paramètres Replicat de chargement initial :
REPLICAT repinit TARGETDB USERIDALIAS tgt_alias BATCHSQL MAP public.*, TARGET public.*; -
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/173F770ADD EXTTRAIL ea, EXTRACT extecdcSTART EXTRACT extecdcVoici un exemple de fichier de paramètres d'extraction CDC :
EXTRACT extecdc SOURCEDB USERIDALIAS src_alias EXTTRAIL west/ea TABLE public.*; -
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.ggcheckpointSTART REPLICAT repecdc -
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.