SLONIK MOVE SET

MOVE SET — Change l'origine d'un ensemble de réplication Slony-I

Synopsis

MOVE SET (options);

Description

Cette commande déplace l'origine d'un ensemble de réplication d'un nœud vers un autre. La nouvelle origine doit être un abonné de cet ensemble. L'ensemble doit être verrouillé sur l'ancien nœud origine.

Après cette commande, l'ensemble ne peut plus être déverrouillé sur l'ancienne origine. Celle-ci va continuer comme un nœud transmetteur de l'ensemble et la chaîne d'abonnement entre l'ancienne et la nouvelle origine sera inversée. Dès que la nouvelle origine a terminé le traitement de l'événement (ce qui inclue tous les événements SYNC qui se sont produit avant la commande), elle prend le contrôle et ouvre toutes les tables de l'ensemble de réplication aux mises à jour en provenance de l'application.

Ceci n'est pas une bascule d'urgence car cela nécessite que l'ancienne origine fonctionne correctement (vous devez verrouiller l'ensemble de réplication sur l'ancienne origine). Il est préférable d'utiliser MOVE SET au lieu de FAILOVER si c'est possible car la commande FAILOVER transforme le nœud origine en un nœud corrompu. Avant d'effectuer un MOVE SET, il faut lancer la commande LOCK SET.

Notez qu'il s'agit d'une opération locking , ce qui signifie qu'elle peut être bloquée derrière l'activité des autres bases.

ID = ival

Identifiant de l'ensemble à transférer

OLD ORIGIN = ival

Identifiant du nœud origine actuel

NEW ORIGIN = ival

Identifiant du futur nœud origine

Cette commande utilise schemadocmoveset( integer, integer ).

Exemple

LOCK SET (
   ID = 1,
   ORIGIN = 1
);
MOVE SET (
   ID = 1,
   OLD ORIGIN = 1,
   NEW ORIGIN = 3
);
    

Utilisation de verrous

Des verrous exclusifs sont posés sur chaque table répliquée, à la fois sur l'ancien nœud origine et le nouveau nœud origine, car les triggers de réplication sont changés sur les deux nœuds : sur l'ancienne origine, chaque table supprime deux triggers (logtrigger et lockset) et ajoute un trigger denyaccess ; sur la nouvelle origine, le trigger denyaccess est supprimé et le trigger logtrigger est ajouté.

Note de version

Cette commande fut introduite dans Slony-I™ 1.0.