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 :

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 :

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 :

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 :

Les paramètres d'exécution permettent de contrôler divers aspects de la synchronisation Oracle GoldenGate, tels que :

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 processus Extract, Path (Extract) et Replicat enregistrent les positions dans un fichier de point de reprise afin qu'elles puissent être récupérées en cas d'échec.

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.

Workflow d'un point de reprise DISTPATH

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 :

Extraire et répliquer le flux de données de point de reprise