Implémentation de la Réplication Multi-Région d’Oracle sur AWS RDS à l’aide d’Oracle GoldenGate
La réplication des bases de données d’une région à une autre sur AWS est essentielle pour assurer la continuité des opérations, la résilience et une disponibilité optimale.
Oracle GoldenGate, combiné à AWS RDS, permet de configurer une réplication efficace et fiable.
Dans cet article, nous décrivons l’architecture, les étapes de configuration, les options avancées d’Oracle GoldenGate, et les exigences et limites associées à son utilisation sur AWS.
1. Introduction à Oracle GoldenGate
Oracle GoldenGate est une solution de réplication de données en temps réel permettant le transfert d’informations entre des bases de données homogènes ou hétérogènes. Ses caractéristiques principales incluent :
- Capture en temps réel : Lecture des journaux de redo ou des fichiers binaires pour capturer les modifications.
- Transmission efficace : Compression des données pour le transfert.
- Topologies flexibles : Support des architectures actives-actives, actives-passives, ou en hub.
- Faible impact : Une empreinte légère sur les bases source et cible.
Propriétés Clés d’Oracle GoldenGate
- Modes de Réplication :
- Unidirectionnelle : Une base source vers une base cible.
- Bidirectionnelle : Synchronisation entre deux bases pour la tolérance aux pannes.
- Broadcast : Une base source vers plusieurs bases cibles.
- Composants Principaux :
- Extract : Capture les modifications depuis la base source.
- Trail Files : Fichiers intermédiaires pour le transfert des données.
- Replicat : Applique les données à la base cible.
- Manager : Supervise les processus GoldenGate.
Cas d’Utilisation
- Migration de données : Facilite le transfert des données sans interruption de service.
- Tolérance aux pannes : Permet de répliquer des données sur des bases cibles pour un basculement rapide.
- Analytique en temps réel : Transfère des données vers des systèmes d’analytique en temps réel.
- Synchronisation multi-cloud : Synchronisation entre différents fournisseurs cloud.
2. Architecture de Réplication entre Régions
L’architecture de réplication entre régions AWS avec Oracle GoldenGate repose sur les éléments suivants :
- Source : Une instance Oracle RDS dans la région source.
- GoldenGate Hub : Une instance EC2 dans la région source et, si nécessaire, une autre instance EC2 dans la région cible.
- Cible : Une instance Oracle RDS dans la région cible.
Voici une illustration de l’architecture :
- Capture des données : Oracle GoldenGate capture les modifications dans les journaux de redo de la base source.
- Transfert inter-région : Les données capturées sont compressées et transférées via des fichiers trail.
- Application des données : Les données sont appliquées à la base cible.
3. Exigences et Limites Relatives à Oracle GoldenGate
Exigences
- Oracle GoldenGate :
- Licence valide pour Oracle GoldenGate.
- Versions prises en charge sur RDS (vérifier la compatibilité avec votre version d’Oracle).
- Réseau :
- Une connexion stable entre les régions (AWS Direct Connect ou VPN).
- Groupes de sécurité configurés pour autoriser les connexions GoldenGate.
- Bases de données :
- Activation des journaux supplémentaires sur les instances RDS source et cible.
- Configuration des privilèges d’accès pour les utilisateurs GoldenGate.
Limites
- Accès restreint : Oracle GoldenGate ne peut pas être directement installé sur RDS. Il doit être exécuté sur des serveurs EC2.
- Taille des données : Une grande taille des fichiers trail peut ralentir la réplication si la bande passante est limitée.
- Latence inter-région : La distance entre les régions AWS peut introduire une latence dans le transfert des données.
4. Exemple de Configuration de Réplication
Voici un guide détaillé et complet pour configurer Oracle GoldenGate entre deux régions AWS.
Étape 1 : Préparer l’Environnement Source (Région A)
1. Activer les journaux supplémentaires : Connectez-vous à la base de données source et activez les journaux supplémentaires nécessaires à GoldenGate :
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
2. Créer un utilisateur dédié à GoldenGate :
CREATE USER ogg_user IDENTIFIED BY « password »;
GRANT CONNECT, RESOURCE TO ogg_user;
GRANT SELECT ANY DICTIONARY TO ogg_user;
GRANT CREATE SESSION, ALTER SESSION TO ogg_user;
GRANT SELECT ON V_$DATABASE TO ogg_user;
GRANT SELECT ON V_$LOG TO ogg_user;
GRANT SELECT ON DBA_TABLESPACES TO ogg_user;
3. Configurer les autorisations supplémentaires pour GoldenGate :
GRANT EXECUTE ON DBMS_STREAMS_ADM TO ogg_user;
GRANT SELECT ANY TABLE TO ogg_user;
Étape 2 : Configurer le GoldenGate Manager sur EC2
1. Installer Oracle GoldenGate : Transférez les fichiers d’installation GoldenGate sur une instance EC2 dans la région source et suivez les étapes d’installation.
2. Configurer le fichier mgr.prm
pour le Manager :
PORT 7809
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS
Démarrez le Manager :
GGSCI> START MANAGER
3. Créer un processus Extract pour capturer les modifications :
- Créez un fichier de configuration
ext1.prm
:
EXTRACT ext1
USERID ogg_user, PASSWORD password
EXTTRAIL ./dirdat/et
TRANLOGOPTIONS ARCHIVEDLOGONLY
TABLE source_schema.*;
-
Ajoutez et démarrez l’Extract :
GGSCI> ADD EXTRACT ext1, TRANLOG, BEGIN NOW
GGSCI> ADD EXTTRAIL ./dirdat/et, EXTRACT ext1
GGSCI> START EXTRACT ext1
Étape 3 : Préparer l’Environnement Cible (Région B)
1. Activer les journaux supplémentaires sur l’instance RDS cible :
EXEC RDSADMIN.RDSADMIN_UTIL.ALTER_SUPPLEMENTAL_LOGGING(‘ADD’);
2. Créer un utilisateur dédié pour GoldenGate :
CREATE USER ogg_target IDENTIFIED BY « password »;
GRANT CONNECT, RESOURCE TO ogg_target;
3. Configurer le processus Replicat sur EC2 dans la région cible :
- Créez un fichier
rep1.prm
:
REPLICAT rep1
USERID ogg_target, PASSWORD password
MAP source_schema.*, TARGET target_schema.*;
- Ajoutez et démarrez le Replicat :
GGSCI> ADD REPLICAT rep1, EXTTRAIL ./dirdat/et
GGSCI> START REPLICAT rep1
Vérifications Post-Configuration
1. Vérifiez les processus GoldenGate :
GGSCI> INFO ALL
2. Surveillez les performances : Consultez les logs de GoldenGate pour détecter d’éventuelles erreurs :
GGSCI> VIEW REPORT ext1
GGSCI> VIEW REPORT rep1
3. Testez la réplication : Insérez des données dans la base source et validez qu’elles apparaissent correctement dans la base cible.
5. Options Avancées d’Oracle GoldenGate
5.1. Compression des Fichiers Trail
- Activez la compression pour optimiser la bande passante et réduire les coûts de transfert.
5.2. Modes de Synchro Checkpoint
- Utilisez des checkpoints pour garantir la reprise automatique en cas d’interruption.
5.3. Cryptage
- Protégez les données sensibles avec des options de cryptage lors du transfert inter-région.
5.4. Intégration avec CloudWatch
- Surveillez les métriques GoldenGate en les intégrant avec AWS CloudWatch.
5.5. Réplication Active-Active
- Configurez GoldenGate pour supporter les scénarios où plusieurs bases opèrent simultanément comme sources et cibles, permettant une haute disponibilité et un partage des charges.
6. Surveillance et Optimisation
Suivi des Processus GoldenGate
- Utilisez la commande suivante pour surveiller l’état des processus :
GGSCI> INFO ALL
Optimisation
- Compression : Activez la compression des fichiers trail pour réduire la taille des données transférées.
- Bande passante : Assurez-vous que la connexion entre régions est rapide et stable.
- Surveillance des journaux : Intégrez les logs avec Amazon CloudWatch pour des alertes en temps réel.
- Partitionnement : Divisez les fichiers trail pour répartir les données sur plusieurs flux et améliorer la vitesse de réplication.
7. Commandes Utiles et Gestion des Erreurs
Commandes GGSCI Courantes
1. Démarrer un processus Manager :
GGSCI> START MANAGER
2. Vérifier l’état de tous les processus :
GGSCI> INFO ALL
3. Arrêter un processus Replicat :
GGSCI> STOP REPLICAT rep1
4. Afficher les erreurs récentes :
GGSCI> VIEW REPORT rep1
5. Afficher les checkpoints pour un Replicat :
GGSCI> INFO REPLICAT rep1, DETAIL
Erreurs Courantes et Résolutions
- Erreur :
OGG-01224 TCP/IP error 104 (Connection reset by peer)
- Cause : Problème réseau entre la source et la cible.
- Solution : Vérifiez la connectivité réseau et les configurations des groupes de sécurité AWS.
- Erreur :
OGG-01031 There is a problem in Extract/Replicat process
- Cause : Conflit ou corruption dans les fichiers trail.
- Solution : Supprimez les fichiers trail concernés et redémarrez le processus.
- Erreur :
OGG-00515 Primary key not found for the target table
- Cause : Clé primaire manquante sur la table cible.
- Solution : Ajoutez une clé primaire ou configurez un mapping explicite pour les colonnes.
- Erreur :
OGG-00446 Mismatch in table definitions between source and target
- Cause : Incohérence dans les schémas des tables source et cible.
- Solution : Synchronisez les schémas et exécutez un script DDL pour harmoniser les structures.
- Erreur :
OGG-01154 Discard file exceeds max file size
- Cause : Le fichier discard dépasse la taille maximale définie.
- Solution : Augmentez la limite dans la configuration ou archivez les fichiers discard régulièrement.
- Erreur :
OGG-01438 Log wrap detected
- Cause : Les journaux de redo sont réécrits avant que GoldenGate puisse les traiter.
- Solution : Augmentez le nombre de journaux redo ou configurez une collecte plus fréquente des données.
- Erreur :
OGG-01033 Process abended
- Cause : Une erreur inattendue a causé l’arrêt d’un processus GoldenGate.
- Solution : Consultez les logs de diagnostic pour identifier la cause exacte et appliquez les correctifs nécessaires.
- Erreur :
OGG-01272 File header mismatch
- Cause : Les fichiers trail ne sont pas compatibles entre la source et la cible.
- Solution : Vérifiez que les versions de GoldenGate sont compatibles et que les fichiers trail ne sont pas corrompus.
8. Cas Pratiques d’Utilisation
Migration de Données Cloud
- Utilisez Oracle GoldenGate pour déplacer les données depuis un centre de données on-premise vers une région AWS cible sans temps d’arrêt.
Scénarios de Sauvegarde Inter-Région
- Configurez la réplication entre deux régions AWS pour assurer une sauvegarde en cas de sinistre.
Synchronisation Multi-Cloud
- Implémentez des topologies de réplication entre AWS et d’autres fournisseurs cloud pour bénéficier d’un environnement multi-cloud.
La réplication d’une base Oracle RDS entre deux régions AWS avec Oracle GoldenGate est une solution robuste pour garantir la disponibilité des données et répondre à divers besoins opérationnels. Avec ses fonctionnalités avancées et ses capacités de personnalisation, GoldenGate est un outil indispensable pour les entreprises cherchant à améliorer leur continuité des activités et à minimiser les interruptions. La surveillance régulière et une configuration adaptée aux besoins spécifiques garantissent des performances optimales.
Si vous souhaitez un accompagnement personnalisé pour la réplication ou la migration entre régions sur AWS RDS avec Oracle GoldenGate, n’hésitez pas à contacter les experts de dbaccompany à l’adresse suivante : contact@dbaccompany.com.