Oracle GoldenGate Microservices : réplication unidirectionnelle Oracle → Oracle
OracleNiveau: AvancéDurée: 3 à 5 heuresRéplique en continu (avec quelques secondes de latence) un schéma de PDB vers une autre base de données avec GoldenGate 21c ou 23ai/26ai Microservices. À la fin, un Integrated Extract et un Distribution Path tournent sur la source et un Parallel Replicat sur la cible ; le schéma cible est alimenté par un chargement initial à partir d'un SCN cohérent, et la latence de bout en bout est mesurée par heartbeat. Différence avec Data Guard : il s'agit d'une réplication au niveau ligne (logique), pas d'une copie physique ; la cible est ouverte en écriture et peut être d'une autre version ou plateforme. Source et cible peuvent être mono-instance ou RAC ; pour l'exploitation courante et les incidents, utilisez le guide d'exploitation GoldenGate.
Topologie: Serveur de base source (deployment OGG source) + serveur de base cible (deployment OGG cible) ; en RAC, GoldenGate sur le nœud 1 (ou en tant que ressource cluster avec XAG)
Avant de commencer
- Vous disposez d'une licence GoldenGate et d'un accès My Oracle Support/eDelivery. …/… (le logiciel Microservices pour Oracle Database) est disponible sur les deux serveurs ; la certification des versions (version OGG ↔ version de la base ↔ système d'exploitation) a été vérifiée dans la matrice de certification MOS.
- Les serveurs sont en …Oracle Linux / RHEL 7.9…Oracle Linux / RHEL …… ; l'utilisateur oracle et le groupe oinstall existent (serveur de base de données), unzip est installé (sinon, en root : … -y install unzip). Il y a au moins 4 Go de RAM libre pour GoldenGate, ~2 Go pour le logiciel et, pour les fichiers trail, un espace disque dimensionné selon la génération de redo (redo généré par jour × jours de rétention).
- La base source est un CDB en mode ARCHIVELOG (sinon, ce guide l'active) ; les archived logs ne doivent pas être supprimés avant qu'Extract les ait traités (politique de suppression RMAN). Les PDB source et cible sont ouvertes et leurs services sont enregistrés auprès du listener.
- Les tables du schéma … à répliquer ont une clé primaire (ou une clé unique non nulle). Sur une table sans clé, toutes les colonnes sont considérées comme clé ; les mises à jour ralentissent et une mauvaise ligne risque d'être appariée.
- Les types de données et objets du schéma que GoldenGate ne prend pas en charge ou qui demandent un traitement particulier ont été examinés (DBA_GOLDENGATE_SUPPORT_MODE).
- …/tcp (Receiver Server) est ouvert de la source vers la cible ; pour l'administration, …–…/tcp est ouvert vers le réseau d'administration sur les deux serveurs. Les serveurs se résolvent mutuellement par leur nom…, les noms SCAN (…………, …………) sont résolus dans le DNS… ; les horloges sont synchronisées par NTP.
- Aucune transaction ouverte de longue durée ne doit exister sur la source pendant l'enregistrement initial de l'Integrated Extract et le chargement initial ; une plage horaire calme a été prévue pour le chargement initial.
- Côté RAC, le Clusterware est sain et srvctl fonctionne avec l'utilisateur oracle ; le logiciel GoldenGate et le deployment seront installés sur un seul nœud (…………, …………). Si une reprise automatique en cas de perte de nœud est souhaitée, XAG + un répertoire partagé (ACFS) ont été prévus (voir les notes).
Phases du guide
- Préparation de la base source — Vérifier l'état de la base source · Activer le mode ARCHIVELOG (si nécessaire) · Paramètres de base pour GoldenGate (source) · Créer l'utilisateur de capture GoldenGate (source) · Créer le service GoldenGate (RAC source) · Définir le répertoire Data Pump (PDB source)
- Préparation de la base cible — Paramètres de base pour GoldenGate (cible) · Créer l'utilisateur ggadmin (PDB cible) · Créer le service GoldenGate (RAC cible) · Définir le répertoire Data Pump (PDB cible)
- Installation du logiciel GoldenGate (les deux serveurs) — Créer les répertoires · Décompresser le fichier d'installation · Préparer oggcore.rsp à partir du modèle · Installer le logiciel GoldenGate (silent) · Définir la variable d'environnement OGG_HOME
- Service Manager et deployments (oggca) — Écrire le response file d'oggca (source) · Créer le deployment (oggca, source) · Enregistrer le Service Manager comme service systemd (source) · Écrire le response file d'oggca (cible) · Créer le deployment (oggca, cible) · Enregistrer le Service Manager comme service systemd (cible) …
- Source : credentials, trandata, heartbeat, Extract, Distribution Path — Préparer le credential store et la connexion à la base (source) · Activer le supplemental logging au niveau schéma · Créer la table heartbeat (source) · Enregistrer et ajouter l'Integrated Extract · Écrire le fichier de paramètres de l'Extract · Démarrer l'Extract …
- Cible : credentials, checkpoint, Parallel Replicat — Préparer le credential store et la connexion à la base (cible) · Créer les tables heartbeat et checkpoint (cible) · Ajouter le Parallel Replicat · Écrire le fichier de paramètres du Replicat
- Chargement initial et démarrage du Replicat — Vérifier les transactions ouvertes (source) · Relever le SCN du chargement initial et exporter (expdp) · Copier les fichiers dump vers la cible · Importer dans la cible (impdp) · Démarrer le Replicat après le SCN · Démarrer le Replicat
- Vérification et supervision — Vérifier l'état de tous les processus (source) · Vérifier l'état de tous les processus (cible) · Test de bout en bout : insérer des lignes (source) · Test de bout en bout : vérifier les lignes et la latence (cible) · Supervision et maintenance