A propos des composants de réplication de données dans Oracle GoldenGate
Types de configuration de réplication de données
Oracle GoldenGate peut être configuré aux fins suivantes :
-
Extraction statique d'enregistrements de données d'une base de données et chargement de ces enregistrements dans une autre base de données ou source de données.
-
Extraction et réplication continues des opérations LMD (Langage de manipulation de données) transactionnelles et des modifications LDD (Langage de définition de données) (pour les bases de données prises en charge) afin de garantir la cohérence des données source et cible.
-
Extraction de données à partir de sources de base de données prises en charge et réplication vers Big Data et des cibles de fichier à l'aide d'Oracle GoldenGate Distributed Applications and Analytics.
Processus Oracle GoldenGate
Extraction
Le traitement Extract est configuré pour s'exécuter sur l'adresse source à partir de laquelle les transactions de base de données validées doivent être capturées. Ce processus est le mécanisme d'extraction ou de capture de données d'Oracle GoldenGate.
Vous pouvez configurer le processus Extract pour capturer des données à partir des types de source de données suivants :
-
Tables source : Ce type de source est utilisé pour les chargements initiaux.
-
Journaux de récupération de base de données ou journaux de transactions : lors de la capture à partir des journaux, la méthode réelle varie en fonction du type de base de données. Un exemple de ce type de source est les fichiers de journalisation Oracle AI Database.
Pour en savoir plus, reportez-vous à A propos de l'extraction.
Réplication
Le processus Replicat applique les mises à jour des fichiers trace à la base de données cible. Il lit le fichier de trace sur la base de données cible, reconstruit les opérations DML ou DDL et les applique à la base de données cible.
Le processus Replicat utilise le code SQL dynamique pour compiler une instruction SQL une fois, puis l'exécute plusieurs fois avec différentes variables attachées. Vous pouvez configurer le processus Replicat de sorte qu'il attende un certain temps avant d'appliquer les opérations répliquées à la base de données cible.
Par exemple, un délai peut être souhaitable pour empêcher la propagation d'instructions SQL déplacées, pour contrôler l'arrivée des données sur différents fuseaux horaires ou pour laisser du temps à d'autres événements planifiés.
Pour les deux cas d'utilisation courants d'Oracle GoldenGate, le processus Replicat fonctionne comme suit :
-
Chargements initiaux : lorsque vous configurez Oracle GoldenGate pour les chargements initiaux, le processus de réplication applique une copie de données statique aux objets cible ou achemine les données vers un utilitaire de chargement en masse haut débit.
-
Synchronisation des modifications : lorsque vous configurez Oracle GoldenGate pour que la base de données cible reste synchronisée avec la base de données source, le processus Replicat applique les opérations source aux objets cible à l'aide d'une interface de base de données native ou d'ODBC, selon le type de base de données.
Vous pouvez configurer plusieurs processus Replicat avec un ou plusieurs processus Extract en parallèle pour augmenter le débit. Pour préserver l'intégrité des données, chaque ensemble de processus gère un ensemble différent d'objets. Pour différencier les processus Replicat, vous pouvez créer des groupes Replicat avec un nom de groupe unique.
Pour en savoir plus sur les différents types de mode Replicat, reportez-vous à A propos du processus Replicat.
Chemins de distribution pour le transport de données
Un chemin de distribution ou DISTPATH définit le chemin du fichier trace entre les adresses. Le chemin de distribution est configuré à partir du service de distribution. Pour en savoir plus, reportez-vous à Service de distribution.
Un chemin de distribution initié par la cible, également appelé chemin de récepteur ou RECVPATH, définit le chemin de la trace, du service de destinataire au service de distribution dans les environnements avec des adresses cible sécurisées. Reportez-vous à Ajouter des chemins de service de destinataire.
Objets Oracle GoldenGate
Les objets Oracle GoldenGate ne doivent jamais être modifiés directement. La modification des fichiers de paramètres, des traces, des fichiers de point de reprise et des tables ne doit être effectuée que via des appels d'API REST à l'aide de AdminClient et de l'interface Web.
Fichiers de trace
Une trace (trail) est une série de fichiers sur le disque où Oracle GoldenGate stocke les modifications capturées pour prendre en charge l'extraction et la réplication en continu des modifications de base de données.
Une trace peut exister sur le système source, un système intermédiaire, le système cible ou toute combinaison de ces systèmes, selon la façon dont vous configurez Oracle GoldenGate. Sur le système local, il est appelé trace Extract (ou trace locale). Sur un système distant, il est appelé trace distante. En utilisant une trace pour le stockage, Oracle GoldenGate prend en charge la précision des données et la tolérance aux pannes. L'utilisation d'une trace permet également aux activités d'extraction et de réplication de se produire indépendamment les unes des autres. Ces processus étant séparés, vous avez plus de choix quant à la façon dont les données sont traitées et fournies. Par exemple, au lieu d'extraire et de répliquer les modifications en continu, vous pouvez extraire les modifications en continu et les stocker dans la trace pour la réplication vers la cible ultérieurement, chaque fois que l'application cible en a besoin.
En outre, les traces permettent à Oracle AI Database de fonctionner dans un environnement hétérogène. Les données sont stockées dans un fichier trace dans un format cohérent. Le processus Replicat peut donc les lire pour toutes les bases de données prises en charge.
Processus qui écrivent dans le fichier trace
Le processus Extract Oracle GoldenGate écrit dans le fichier trace. Toutes les traces locales doivent avoir des noms de chemin complet différents, bien que vous puissiez utiliser les mêmes noms de trace dans des chemins différents.
Dans Oracle GoldenGate MA, les chemins de distribution et les chemins de récepteur sont utilisés pour distribuer les traces distantes. Le service de distribution et le service de réception permettent respectivement de configurer le chemin de distribution et le chemin de réception. Le chemin de distribution transfère la trace sur un réseau vers des cibles définies. La trace peut contenir des données provenant de plusieurs extractions, qui ont été transférées vers un système distant.
Processus lus à partir du fichier trace
Le processus Replicat et le chemin de distribution lisent les fichiers trace. Le processus Extract capture les opérations LMD et LDD à l'aide d'une trace locale, effectue d'autres traitements si nécessaire et transfère les données vers une trace lue par le processus Oracle GoldenGate suivant, à savoir le processus Replicat.
En cas de déploiement distribué, un processus de service de distribution lit le fichier trace distant et l'envoie sur le réseau à un processus de service de destinataire en attente.
Le processus Replicat lit la trace et applique les opérations LMD et LDD répliquées à la base de données cible.
Création et maintenance des fichiers trace
Les fichiers trace sont créés si nécessaire lors du traitement. Vous indiquez un nom à deux caractères pour la trace lorsque vous l'ajoutez à la configuration Oracle GoldenGate. Par défaut, les traces sont stockées dans le sous-répertoire du répertoire Oracle GoldenGate. Vous pouvez indiquer un numéro de séquence de neuf chiffres pour le fichier trace.
A mesure que chaque nouveau fichier est créé, il hérite du nom de trace à deux caractères ajouté avec un numéro de séquence unique à neuf chiffres compris entre 000000000 et 99999999. Lorsque le numéro de séquence atteint 999 999 999 ou 999 999 (selon le paramètre précédent), le traitement d'extraction est abandonné.
Vous pouvez purger les fichiers trace de manière routinière en configurant des tâches de maintenance automatisées pour purger les fichiers trace ou en les supprimant manuellement à partir du service d'administration. Reportez-vous à Suppression de fichiers de trace et à Purger les traces
Vous pouvez créer plusieurs traces pour séparer les données de différents objets ou applications. Pour optimiser le débit et réduire la charge d'E/S sur le système, les données extraites sont envoyées dans et hors d'une trace dans des blocs volumineux. L'ordre transactionnel du fichier trace ou de la séquence de trace est conservé.
Fichiers de paramètres
La plupart des fonctionnalités d'Oracle GoldenGate sont contrôlées à l'aide des paramètres indiqués dans les fichiers de paramètres. Un fichier de paramètres est un fichier en texte brut qui est lu par un processus Oracle GoldenGate associé.
L'architecture de microservices Oracle GoldenGate utilise les paramètres d'exécution suivants :
-
Paramètres d'exécution globaux : ils sont différents du paramètre GLOBALS. Elles s'appliquent à tous les objets de base de données indiqués dans un fichier de paramètres. Certains paramètres d'exécution globaux ont une incidence sur le comportement des processus, tandis que d'autres ont une incidence sur l'utilisation de la mémoire.
USERIDALIASest un exemple de paramètre d'exécution global. Un paramètre global ne doit figurer qu'une seule fois dans le fichier. Lorsqu'elle est répertoriée plusieurs fois, seule la dernière instance est active et toutes les autres instances sont ignorées. -
Paramètre propre à un objet : ces paramètres vous permettent d'appliquer différentes règles de traitement pour différents ensembles d'objets de base de données.
GETINSERTSetIGNOREINSERTSsont des exemples de paramètres propres à un objet. Chacune précède une instructionMAPqui spécifie les objets à affecter. Les paramètres spécifiques à l'objet prennent effet dans l'ordre de leur liste dans le fichier.
Les paramètres d'exécution permettent de contrôler divers aspects de la synchronisation Oracle GoldenGate, tels que :
-
Sélection, mappage, transformation et réplication des données
-
Sélection, mappage et réplication LDD et séquence (si pris en charge)
-
Résolution des erreurs
-
Journalisation
-
Rapports sur les statuts et les erreurs
-
Utilisation de ressources système
-
Comportement au démarrage et à l'exécution
Bien que plusieurs extractions et réplications puissent être exécutées dans un seul déploiement, chacune ne peut être associée qu'à un seul fichier de paramètres. Les extractions et les réplicats sont identifiés par leur nom sans distinction majuscules/minuscules. Par exemple, une extraction appelée exte est associée à 1 fichier de paramètres appelé exte.prm.
Fichiers et tables de points de reprise
Oracle GoldenGate utilise une combinaison de fichiers de point de reprise, de tables de point de reprise et de valeurs correspondantes dans les fichiers trace pour garantir que les données sont appliquées une seule fois à la plate-forme cible. Oracle GoldenGate utilise ces objets pour garantir une réplication correcte des données et à des fins de récupération en cas de panne ou de panne de la base de données source, de la base de données cible ou d'Oracle GoldenGate lui-même. Ces objets sont essentiels à l'état d'Oracle GoldenGate et ne doivent jamais être modifiés ou modifiés sans l'aide directe du support technique Oracle.
Reportez-vous à Détails supplémentaires des tables de point de reprise.
Utilisation des points de reprise par extraction, chemin et réplication
Les points de reprise sont utilisés lors de la synchronisation des modifications en ligne pour stocker la position de lecture et d'écriture actuelle d'un processus. Les points de reprise garantissent que les modifications de données marquées pour la synchronisation sont extraites et empêchent les extractions redondantes. Ils assurent la tolérance aux pannes en empêchant la perte de données si le système, le réseau ou un processus Oracle GoldenGate doit être redémarré.
Les options Extract, Path (Extract) et Delivery (Replicat) enregistrent les positions dans un fichier de point de reprise pour permettre la récupération en cas d'échec. Le processus Extract crée des points de reprise pour ses positions dans la source de données et dans la trace. Le processus Replicat crée des points de reprise pour sa position dans la trace. Le diagramme suivant illustre ce workflow :

Les informations de point de reprise sont conservées dans les fichiers de point de reprise du répertoire Oracle GoldenGate par défaut : $OGG_VAR_HOME/lib/checkpt
Cela ne doit pas être confondu avec la table de points de reprise facultative stockée dans la base de données. Le processus Extract place un point de reprise en écriture, appelé point de reprise en cours, dans la trace. Le point de reprise en cours correspond à la position dans la trace où le processus Extract écrit actuellement.
Les points de reprise stockent la position actuelle en lecture/écriture d'un processus. Ils empêchent les extractions redondantes et assurent la tolérance aux pannes.
Oracle GoldenGate utilise les points de reprise à titre d'information uniquement, car la source de vérité se trouve dans les fichiers trace.
Point de reprise du chemin
Le point de reprise du chemin du service de distribution ajoute une couche supplémentaire de fiabilité à l'architecture des microservices lors du transfert des fichiers trace entre les déploiements. L'image suivante décrit le mécanisme de point de reprise DISTPATH utilisé dans les déploiements.

La lecture en cours est le point de reprise de la dernière lecture. Le point de reprise recherche les modifications toutes les secondes. Cette fréquence est configurable. Le point de reprise Write identifie le dernier élément écrit dans la trace. Oracle GoldenGate assure le suivi de la position d'écriture dans la trace.
Le chemin du service de distribution ne connaît aucune transaction en cours car il traite uniquement les enregistrements qui ont été validés.
Point de reprise du processus de réplication
Le processus Replicat crée des points de reprise dans la table de points de reprise pour marquer sa dernière position de lecture et d'application.
Pour afficher les points de reprise de processus, utilisez la commande INFO REPLICAT avec l'option SHOWCH. La commande de base affiche les points de reprise en cours.
Le point de reprise en cours correspond à la position du dernier enregistrement lu par le processus Replicat dans la trace et appliqué à la base de données. La source de vérité pour les transactions appliquées est la table de points de reprise. Le fichier de point de reprise utilisé par les commandes Replicat et INFO est une information approximative et indicative uniquement. Reportez-vous à l'image suivante pour comprendre ce workflow :
