START REPLICAT
Utilisez START REPLICAT pour démarrer la réplication. Pour confirmer le démarrage de la réplication, utilisez la commande INFO REPLICAT ou STATUS REPLICAT.
Lors du démarrage d'un groupe de réplication intégrée pour une base de données cible Oracle, START REPLICAT inscrit automatiquement le processus auprès la base de données cible.
Une réplication coordonnée peut uniquement être démarrée dans son intégralité. Il n'existe aucune option permettant de démarrer des threads individuellement. Si l'arrêt précédent d'une réplication coordonnée a été effectué de manière incorrecte, les threads ont peut-être été arrêtés à différentes positions dans le fichier trace. Dans ce cas, START REPLICAT écrit un avertissement si le fichier d'options a été modifié depuis l'exécution précédente et génère une erreur si le nombre de threads a été modifié.
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.
START REPLICAT, sans options, indique au processus de réplication le démarrage de l'un des points suivants afin d'assurer l'intégrité des 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é.
Remarque : si vous ignorez une transaction ou démarrez une transaction à partir du CSN ou après ce dernière, la réplication peut démarrer plus lentement que d'une manière habituelle, selon les quantités de données à lire dans la trace avant d'atteindre l'enregistrement de transaction approprié. Pour afficher la progression du démarrage, utilisez la commande `SEND
REPLICAT` command with the `STATUS` option. To omit the need for Replicat to read through transactions that ultimately will be skipped, you can use the `ATCSN` or `AFTERCSN` option when starting Extract, so that those transactions are omitted from the trail, see `START EXTRACT`. {: .infoboxnote}
Syntaxe
START REPLICAT group_name
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])
group_name
Nom d'un groupe de réplication ou caractère générique (*) pour indiquer plusieurs groupes. Par exemple, T* démarre tous les groupes de réplication dont la nom commence par T.
SKIPTRANSACTION
Permet à la réplication d'ignorer la première transaction détectée 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 à partir d'un CSN donné ou après un CSN donné, 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 est 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. La valeur par défaut est FILTERDUPTRANSACTIONS. Toutefois, si vous utilisez NOFILTERDUPTRANSACTIONS, le paramètre par défaut de réplication intégrée est remplacé et les doublons ne seront pas filtrés. L'effet est donc le même sur les réplications classiques et les réplications intégrées.
THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])
Valide pour SKIPTRANSACTION, ATCSN et AFTERCSN lorsque la réplication est en mode coordonné. Non valide pour START REPLICAT sans ces options. Démarre les threads de réplication indiqués à l'emplacement spécifié.
threadID[, threadID][, ...]
Indique un ID de thread ou une liste de threads séparés par une virgule au format threadID, threadID, threadID.
thread_range[, thread_range][, ...]
Indique une plage de threads au formatthreadIDlow-threadIDhigh ou une liste de plages délimitées par une virgule au formatthreadIDlow-threadIDhigh, threadIDlow-threadIDhigh.
Vous pouvez combiner ces formats. Par exemple, threadID, threadID, threadIDlow-threadIDhigh.
Exemples
START REPLICAT reps
L'exemple suivant démarre la réplication à partir d'un CSN propre à Oracle.
START REPLICAT reps, ATCSN 6488359
L'exemple suivant démarre la réplication à partir d'un CSN propre à SQL Server après le CSN indiqué.
START REPLICAT reps, AFTERCSN 0X000004D2:0000162E:0009
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.
START REPLICAT reps SKIPTRANSACTION THREADS(4-5)
L'exemple suivant fait démarrer les threads 1 à 3 d'une réplication coordonnée au niveau du CSN 6488359.
START REPLICAT reps ATCSN 6488359 THREADS(1-3)