Basculement de la réplication vers le mode coordonné
Valide pour tous les types de base de données pris en charge par Oracle GoldenGate.
Cette procédure met à niveau une configuration de réplication standard (non coordonnée) vers une configuration coordonnée. Cette procédure suppose que vous remplacez une configuration qui partitionne les données de plusieurs processus Extract et Replicat par une configuration qui utilise un processus Extract et un processus Replicat coordonné. La réplication coordonnée remplace la nécessité d'utiliser plusieurs processus Replicat. Une réplication coordonnée ne nécessite qu'une trace, il n'est donc pas nécessaire de recourir à plusieurs processus Extract.
Présentation de la procédure
Cette procédure utilise le paramètre EVENTACTIONS avec une action STOP, ce qui permet à tous les processus Replicat de s'arrêter au même point dans la trace. L'action EVENTACTIONS est déclenchée par une transaction qui contient une valeur INSERT vers une table fictive. Avec INSERT, chaque processus termine le traitement jusqu'à la transaction d'événement, y compris, et s'arrête correctement. Une action d'événement supplémentaire de IGNORE est indiquée pour le processus Replicat afin d'empêcher les processus Replicat multiples de tenter d'insérer le même enregistrement dans la cible. Le résultat de cette procédure est que tous les processus s'arrêtent au même point dans le flux de données : après avoir terminé la transaction INSERT vers la table fictive.
Une fois les processus arrêtés, vous déplacez toutes les instructions TABLE vers un groupe Extract principal. Vous déplacez toutes les instructions MAP vers un nouveau groupe de processus Replicat coordonné qui lit la trace associée au processus Extract conservé. Une fois que toutes les instructions MAP se trouvent dans un fichier de paramètres, vous devez les modifier pour ajouter les spécifications de thread afin de prendre en charge une réplication coordonnée. (Cela peut être fait à l'avance.) Ensuite, vous supprimez le groupe Replicat et l'ajoutez en mode coordonné avec le même nom.
Passer à la réplication coordonnée
Remarque : ne créez pas le groupe de réplication tant que ces instructions ne vous y sont pas demandées.
-
Sauvegardez les fichiers de paramètres actuels de tous les groupes Extract et Replicat. Vous allez les modifier.
-
Créez un répertoire de travail en dehors du répertoire Oracle GoldenGate. Vous allez utiliser ce répertoire pour créer et préparer de nouvelles versions des fichiers de paramètres. Si nécessaire, vous pouvez créer un répertoire de travail sur les systèmes source et cible.
-
Dans le répertoire de travail, créez un fichier de paramètres pour une réplication coordonnée. Copiez les paramètres
MAPà partir des fichiers de paramètres actifs de tous les groupes de réplication vers ce fichier de paramètres, puis ajoutez les spécifications de thread et tout autre paramètre prenant en charge la configuration de réplication coordonnée requise. -
Si vous utilisez plusieurs groupes Extract principaux, sélectionnez-en un à conserver, puis enregistrez une copie de son fichier de paramètres en cours dans le répertoire de travail.
-
Copiez toutes les instructions
TABLEdes autres groupes Extract dans le nouveau fichier de paramètres de l'extraction principale que vous conservez. -
Copiez toutes les instructions
TABLEde l'autre processus Extract dans le fichier de paramètres copié du processus Extract conservé. -
Dans la base de données source, créez une table factice simple sur laquelle une instruction
INSERTsimple peut être exécutée. Pour cette procédure, le nomschema.eventest utilisé. -
Créez la même table sur le système cible pour éviter d'avoir besoin de paramètres de configuration supplémentaires.
-
Modifiez les fichiers de paramètres actifs (et non les copies) de tous les groupes Extract principaux et Data Pump pour ajouter le paramètre
EVENTACTIONSsuivant à chacun d'eux.
TABLE schema.event, EVENTACTIONS(STOP);
- Modifiez les fichiers de paramètres actifs (et non les copies) de tous les groupes de réplication pour ajouter le paramètre
EVENTACTIONSsuivant à chacun d'eux.
MAP schema.event, TARGET schema.event, EVENTACTIONS(IGNORE, STOP);
-
Arrêtez progressivement les processus Oracle GoldenGate dans l'ordre suivant :
-
Arrêtez tous les processus Replicat.
-
Arrêtez tous les processus Extract.
-
-
Redémarrez les processus Oracle GoldenGate dans l'ordre suivant afin que les paramètres
EVENTACTIONSprennent effet :-
Démarrez tous les processus Extract.
-
Démarrez tous les processus Replicat.
-
-
Sur le système source, émettez une transaction sur la table
schema.eventqui contient une instructionINSERT. Vérifiez que la transaction a bien été validée. -
Dans le client d'administration, exécutez la commande
STATUSpour tous les processus Extract principaux sur le système source et exécutez la même commande pour tous les processus Replicat sur le système cible, jusqu'à ce que les commandes indiquent que tous les processus sontSTOPPED.
STATUS EXTRACT *
STATUS REPLICAT *
-
Remplacez les fichiers de paramètres actifs du processus Extract que vous avez conservés par les nouveaux fichiers de paramètres du répertoire de travail.
-
Supprimez l'extraction inutile et ses fichiers de paramètres.
-
Connectez-vous à la base de données cible en utilisant la commande
DBLOGIN USERIDALIAS. -
Supprimez tous les groupes Replicat et leurs fichiers de paramètres actifs.
-
Copiez ou déplacez le nouveau fichier de paramètres Replicat coordonné du répertoire de travail vers le répertoire Oracle GoldenGate.
-
Dans le client Admin, exécutez la commande
INFO EXTRACTet notez sa position de point de reprise d'écriture dans la trace.
INFO EXTRACT *extract_name*, DETAIL
- Ajoutez un nouveau groupe Replicat coordonné avec les paramètres suivants.
ADD REPLICAT *group*, EXTTRAIL *trail*, EXTSEQNO *sequence_number*, EXTRBA *rba*, COORDINATED MAXTHREADS *number*
Where:
- *group* is the name of the coordinated Replicat group. The name must match that of the new parameter file created for this group.
- `EXTTRAIL` *trail* is the name of the trail that the Extract writes to.
- `EXTSEQNO `*sequence_number* is the sequence number of the trail as shown in the write checkpoint returned by the `INFO EXTRACT` that you issued for the Extract.
- `EXTRBA `*rba* is the relative byte address in the trail as shown in the write checkpoint returned by `INFO EXTRACT`. Together, these position Replicat to resume processing at the correct point in the trial.
- `MAXTHREADS` number specifies the maximum number of threads allowed for this group. This value should be appropriate for the number of threads that are specified in the parameter file.
-
Démarrez le groupe Extract principal.
-
Démarrez le groupe Replicat coordonné.