MOVE SET — Change l'origine d'un ensemble de réplication Slony-I™
MOVE SET (options);
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.
Identifiant de l'ensemble à transférer
Identifiant du nœud origine actuel
Identifiant du futur nœud origine
Cette commande utilise schemadocmoveset( integer, integer ).
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é.