RESTART REPLICAT
Utilisez RESTART REPLICAT pour arrêter, puis démarrer un groupe de réplication. Pour confirmer le démarrage de la réplication, utilisez la commande INFO REPLICAT ou STATUS REPLICAT.
Point de départ normal
La réplication peut être démarrée à partir de son point de départ normal (point de reprise initial ou en cours) ou à partir d'une autre position dans la trace, indiquée par l'utilisateur.
La commandeRESTART REPLICAT, sans options, indique à la réplication de démarrer le traitement au niveau de l'une des positions suivantes, de sorte à maintenir l'intégrité de données :
-
Après une terminaison progressive ou anormale : à partir de la première transaction non traitée dans la trace lors de l'exécution précédente, représentée par le point de reprise de lecture en cours.
-
Premier démarrage après la création du groupe : à partir du début du fichier trace actif (
seqno 0,rba 0).
Autre point de départ
Les options SKIPTRANSACTION, ATCSN et AFTERCSN de START REPLICAT indiquent à l'ensemble du processus Replicat (ou à des threads spécifiques d'une réplication coordonnée) de commencer le traitement à partir d'un mouvement dans la trace autre que le point d'arrivée normal. Employez ces options aux fins suivantes :
-
Indiquer une position de récupération logique lorsqu'une erreur empêche la réplication d'avancer dans la trace. La réplication peut être positionnée afin d'ignorer les transactions à l'origine du problème, sachant que les données ne seront pas appliquées à la cible.
-
Ignorer les transactions répliquées qui généreront des erreurs d'enregistrement en double et d'enregistrement manquant après l'application d'une sauvegarde sur la cible lors d'un chargement initial. Ces options entraînent le rejet par la réplication des transactions antérieures à l'ensemble de modifications le plus récent capturé dans la sauvegarde. Vous pouvez mettre en correspondance la valeur de l'identificateur de série correspondant à la fin de la sauvegarde avec une valeur CSN, puis démarrer la réplication pour commencer à appliquer des transactions à partir du CSN indiqué.
Syntaxe
RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...]])]
group_name_wildcard
Nom d'un groupe d'exécution ou caractère générique (*) pour indiquer plusieurs groupes. Par exemple, T* démarre tous les groupes de réplication dont les noms commencent par T.
SKIPTRANSACTION
Permet à la réplication d'ignorer la première transaction après sa position de démarrage attendue dans la trace. Toutes les opérations de cette première transaction sont exclues.
Si le paramètre MAXTRANSOPS est également utilisé pour cette réplication, il est possible que le processus commence à lire le fichier trace au milieu d'une transaction. Dans ce cas, le reste de la transaction partielle est ignoré et la réplication reprend le traitement normal à partir de l'enregistrement de début de transaction suivant dans le fichier. Les enregistrements ignorés sont écrits dans le fichier de rebut si le paramètre DISCARDFILE est utilisé. Sinon, un message semblable au message suivant est écrit dans le fichier de rapport :
User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba
SKIPTRANSACTION est uniquement valide lorsque la trace lue par le processus de réplication fait partie d'une configuration de synchronisation de modifications en ligne (avec points de reprise). Elle n'est pas valide pour les chargements initiaux de type de tâche (où SPECIALRUN est utilisé avec ADD REPLICAT).
ATCSN csn |
AFTERCSN csn |
Définit un point de départ défini par l'utilisateur sur un CSN précis. Lorsque l'option ATCSN ou AFTERCSN est utilisée, un message semblable au suivant est écrit dans le fichier de rapport :
User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string
Informations générales sur ces options :
-
Uniquement valides lorsque la trace lue par la réplication fait partie d'une configuration de synchronisation des modifications en ligne (avec points de reprise). Elle n'est pas valide pour les chargements initiaux de type de tâche (où
SPECIALRUNest utilisé avecADD REPLICAT). -
Pour prendre en charge le démarrage au niveau d'un CSN, ou après un CSN, la trace doit être de version Oracle GoldenGate 10.0.0 ou supérieure. En effet, le CSN est stocké dans le premier enregistrement de trace de chaque transaction. Si le processus de réplication est démarré avec
AFTERCSNpour une version de trace antérieure, le processus de réplication prend anormalement fin et écrit une erreur dans le rapport indiquant que le format de trace n'est pas pris en charge.ATCSNPermet à la réplication de démarrer le traitement à partir de la transaction qui possède le CSN indiqué. Toutes les transactions de la trace ayant des valeurs CSN inférieures à la valeur indiquée sont ignorées.
AFTERCSNPermet à la réplication de démarrer le traitement à partir de la transaction qui suit celle possédant le CSN indiqué. Toutes les transactions de la trace ayant des valeurs CSN inférieures ou égales à la valeur indiquée sont ignorées.
csnIndique une valeur CSN. Saisissez la valeur CSN au format valide pour la base de données. Reportez-vous à la section Numéro de séquence de validation (CSN) pour connaître les formats et les descriptions du CSN. La réplication prend anormalement fin si le format n'est pas valide et écrit un message dans le fichier de rapport.
Afin de déterminer le CSN à fournir à la fin d'un chargement initial, utilisez l'identificateur de validation correspondant à la fin du chargement effectué par l'utilitaire de chargement. Sinon, suivez les instructions de la procédure de chargement initial afin de déterminer quand démarrer la réplication.
FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS
Indique à la réplication d'ignorer les transactions qu'elle a déjà traitées. Utilisez cette commande lorsque l'extraction a été repositionnée à un nouveau point d'arrivée (reportez-vous à l'option ATCSN ou AFTERCSN de "START EXTRACT") et vous êtes sûr que la trace contient des transactions en double pouvant entraîner l'abandon anormale de l'opération. Cette option requiert l'utilisation d'une table de point de reprise. Dans le cas d'une base de données Oracle, cette option n'est valide que pour la réplication en mode non intégré. Si le mode intégré et la régénération de fichier trace cible automatique sont utilisés, ce mode gère les transactions en double de manière transparente. La valeur par défaut est FILTERDUPTRANSACTIONS.
THREADS thread_list
Valide pour SKIPTRANSACTION, ATCSN et AFTERCSN lorsque la réplication est en mode coordonné. Non valide pour RESTART REPLICAT sans ces options. Démarre les threads de réplication indiqués à l'emplacement spécifié.
thread_list
Liste de plages séparées par une virgule au format threadIDlow-threadIDhigh, threadIDlow-threadIDhigh.
!
(Point d'exclamation) Redémarre immédiatement le processus de réplication. La transaction est arrêtée.
Exemples
RESTART REPLICAT finance
L'exemple suivant démarre la réplication au niveau d'un CSN spécifique.
RESTART REPLICAT finance, ATCSN 6488359
Dans l'exemple suivant, les threads 4 et 5 d'une réplication coordonnée ignorent la première transaction après leur dernier point de reprise lors du démarrage de la réplication. S'il s'agissait d'une réplication coordonnée à 10 threads, les threads 0-3 et 6-10 commenceraient tous au point de départ normal, c'est-à-dire à leur dernier point de reprise.
RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)
Dans l'exemple suivant, les threads 1-3 d'une réplication coordonnée démarrent au CSN 6488359, les threads 9-10 démarrent après le CSN 6488360 et les threads 7 et 8 ignorent la première transaction après leur dernier point de reprise.
RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)