Réplication Uni directionnelle avec Oracle GoldenGate

 

 

Oracle GoldenGate est une solution qui permet d’extraire et de répliquer des données à travers une variété de  topologies.

La réplication peut se faire de façon unidirectionnelle ou bidirectionnelle.

 

 

 

1-/ Architecture

goldengate

Les composants GoldenGate sont :

  • Capture(Extract) : Ce processus extrait les données insérées, modifiées, supprimées de la base source vers un fichier plat
  • Source Trail (Env. Source) : Fichier plat dans lequel le processus d’extraction écrit séquentiellement les opérations d’insertion, de modification, suppression validées.
  • Data Pump (Optionel) : Il lit les enregistrements dans le fichier plat de l’environnement source et les transfert via le réseau vers un fichier plat sur le serveur cible.
  • Collector : Processus démarré en arrière plan par le processus manager et écrit les données dans le fichier plat sur le serveur cible
  • Remote Trail (Env Cible) : Idem que le fichier plat du serveur source sauf qu’il est créé sur le serveur cible par le collector
  • Processus de réplication (Delivery) : Ce processus applique les données modifiées sur la base cible par lecture du Remote Trail.
  • Processus Manager : Démarré sur les 2 environnements, il gère toutes les ressource et les processus du GoldenGate.

 

2-/ Environnement de test

L’environnement de test utilisé pour l’implémentation d’Oracle GoldenGate est :

Source : Serveur (db12c), Rdbms (11.2.0.3.0), ASM (12.1.0.2.0), GoldenGate (12.2.0.1.1)

Cible : Serveur (db12c), Rdbms (12.1.0.2.0), ASM (12.1.0.2.0), GoldenGate (12.2.0.1.1)

Les bases de données sur les 2 environnements sont en archivage des redologs

Toutes les commandes GoldebGate sont exécutées avec l’utilitaire GGSCI à partir de répertoire $OGG_HOME

 

3-/ Installation Oracle GoldenGate

L’installation de GoldenGate s’est faite en mode silent via un fichier de reponse sur les serveurs source et cible :

Il faut :

  • Télécharger Oracle GoldenGate (Via OTN ou E-Delivery) : V100692-01.zip
  • Dezipper l’archive dans un répertoire temporaire
  • Editer le fichier de reponse en fonction de votre environnement
  • Exécuter l’installeur en mode silencieux

3.1-/ Paramètres du fichier de réponse de l’environnement source

3.2-/ Paramètres du fichier de réponse de l’environnement Cible

3.3-/ Exécution du l’installeur

3.4-/ Affichage du statut du processus Manager

3.4-/ Création d’un schéma dans la base source et cible utilisable par GoldenGate

3.5-/ Activation du SUPPLEMENTAL LOG sur la base source

 

4-/ Chargement Initial

Il consiste à répliquer le contenu des tables JAK.TCUSTORD et JAK.TCUSTMER de l’environnement source vers la cible

4.1-/ Nombre de ligne des tables dans l’environnement source

4.2-/ Nombre de ligne des tables dans l’environnement cible

4.3-/ Edition du fichier de configuration du processus d’extraction sur la source

4.4-/ Création d’un groupe d’extraction sur la source

SOURCEISTABLE indique que la source de données est la table de la base

4.5-/ Edition du fichier de configuration du processus de réplication sur la cible

ASSUMETARGETDEFS indique que la définition des tables sources et cibles est identique

4.6-/ Création d’un groupe de réplication sur la cible

SPECIALRUN indique que le chargement se fait en une fois

4.7-/ Démarrage du groupe d’extraction sur la source

4.8-/ Vérification du processus d’extraction sur la source

4.9-/ Vérification de la réplication sur la source

 

5-/ Synchronisation en temps réel des 2 environnements

Elle permet de une réplication en temps réel des modification sur la base source vers la base cible

5.1-/ Vérification du SUPPLEMENTAL LOGGIN de la base source

Dans le cas d’une réplication bidirectionnelle, le supplemtal loggin doit être activé sur la base cible (voir paragraphe 3.5)

5.2-/ Activation du supplemental loggin au niveau table

Cette activation permet force la base de données de journaliser les colonne de type clé primaire pour toutes opérations de mise à jour.

5.3-/ Désactivation des triggers et des contraintes de type cascade delete

Si la base cible contient des triggers et des contraintes de type cascade delete, il est impratif de les désactiver afin d’éviter la duplication des modifications sur la base cible.

Il existe 2 méthodes de désactivation des triggers et des contraintes de type cascade delete

5.3.1-/ Désactivation par un script SQL

5.3.2-/ Désactivation par les paramètre de réplication via OGG

pour les version Oracle supérieure à 10.2.0.5 on peut utiliser l’option de réplication ci dessous pour désactiver les triggers :

DBOPTIONS SUPPRESSTRIGGERS

pour les version Oracle supérieure à 9.2.0.7 on peut utiliser l’option de réplication ci dessous pour désactiver les contraintes de type cascade delete:

DBOPTIONS DEFERREFCONST

5.4-/ Création de la table de checkpoint sur la base cible

Le point de contrôle permet à tout moment au processus de réplication de savoir ou commencer après une erreure ou un arrêt du processus

5.5-/ Edition du fichier de configuration du groupe d’extraction sur la source

ExtTrail : indique le nom du fichier plat sur la source
TRANLOGOPTIONS : Indique les paramètres de connexion à la base ASM pour la lecture des fichiers logs

5.6-/ Création du groupe d’extraction et du fichier trail sur la source

5.7-/ Edition du fichier de configuration du groupe d’extraction Data Pump sur la source

5.8-/ Création du groupe d’extraction Data Pump et du fuchier trail sur la source

RMTTRAIL : indique le fichier plat sur l’environnement cible

5.9-/ Démarrage des groupes d’extraction

5.10-/ Affichage du statut des processus GoldenGate sur la source

5.11-/ Edition du fichier de configuration du processus de réplication sur la cible

5.12-/ Création du groupe réplication sur la cible

5.13-/ Démarrage du groupe de réplication sur la cible

5.14-/ Affichage du statut des processus GoldenGate sur la Cible

 

6-/ Test de réplication

6.1-/ Affichage du contenu de la table TCUSTORD de la base source

6.2-/ Affichage du contenu de la table TCUSTORD de la base cible

6.3-/ Update des lignes sur la base source

6.4-/ Affichage du contenu de la table TCUSTORD de la base cible

 

About John Akasse

John Akasse has written 8 post in this blog.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

%d blogueurs aiment cette page :