Resynchronisation du service local

De Documentation Polaris
Aller à : navigation, rechercher

Revenir à la documentation du menu 'Utilitaires'



A savoir :
Cette page est en cours de rédaction.
Disponible depuis la version 10.0.2

Cette option a été supprimée, veuillez resynchroniser depuis Système > schéma de réplication > Bouton "Resynchroniser" (avec les droits nécessaires).

La synchronisation de la copie de la base locale, ou synchronisation du service local, est un utilitaire qui vous permet de photographier la base du service superviseur, généralement le central, et écraser votre base de données locale avec. Cet utilitaire est recommandé pour résoudre les désynchronisations de base éventuelles qui pourraient survenir dans le cadre d'accident de réplication.

Nous conseillons de refaire une synchronisation locale régulièrement, à savoir une fois par mois ou par semaine.

Cette opération, contrairement à la synchronisation générale :

  • ne bloque que les utilisateurs du service local (les utilisateurs des éventuels services enfant du service local peuvent continuer à travailler) et non les utilisateurs du système entier,
  • ne démarre pas si la liaison avec le service superviseur est rompue,
  • ne purge pas les données en quarantaine,
  • ne purge pas la table des opérations.

Seule la base est restaurée à l'identique de celle du service superviseur, après l'envoi de toutes les données que ce dernier n'aurait pas eu le temps d'obtenir. Cette opération ne détruit ou ne perd donc aucune donnée au contraire de la manipulation hasardeuse du champ BDD_TAG de la table internaldatas.

Il est évident que vous ne pouvez pas utiliser cet utilitaire sur le service TLR puisqu'il possède lui même la base de référence.

Droit d'accès

Un droit a été créé pour contrôler les profils ayant le droit de mettre à jour la base. ResyncLocal01.png

Tâche automatisée

Même si seuls les utilisateurs connectés sont bloqués, la resynchronisation peut prendre beaucoup de temps. C'est pourquoi vous pouvez paramétrer une resynchronisation locale la nuit, pour ne gêner personne.

La synchronisation est lancée sur le service de réplication sur lequel est exécutée la tâche, il est donc concevable de piloter la synchronisation à distance !

Déclenchement manuel

A condition que les droits soient bien positionnés, vous pouvez déclencher la tâche manuellement dans le menu : Utilitaires / Base de données / Resynchronisation du service local

ResyncLocal02.png

Vous accédez alors à la fenêtre suivante :

ResyncLocal03.png

Après validation, une invite vous fait patienter le temps que tous les utilisateurs se déconnectent. Lorsque tous les utilisateurs sont déconnectés (sauf vous) ou après 2 minutes, tout les connectés restants y compris-vous se font déconnecter et la synchronisation se déclenche à trois conditions :

  • vous n'avez pas annulé,
  • vous ne vous êtes pas déconnecté de vous-même,
  • le service de réplication superviseur est toujours en ligne.

Déroulement

La nouvelle procédure de synchro locale a été mise au point pour éliminer tout problème, elle se déroule désormais selon le schéma suivant, chaque étape commençant quand celle qui la précède a été accomplie :

1/ Vérification de la connectivité du parent. Si ce dernier est pas disponible > annulation.

  • Dans l'interface de dialogue, onglet consultation :
    1. 817 Info 04/07/2012 08:18:24 EP 192.168.1.52:63030 Resynchronisation base sur celle du parent planifiée !

2/ Envoi de toutes les opérations en retard au parent, suspension de la redescente d'infos parent > moi (puisque de toute facon, la base va être détruite)

3/ Information des TA encore connectés qu'ils disposent de quelques minutes pour finir leurs travaux.

Nouv3 3 ResyncLoc 1.png


4/ Blocage des connexions. Dorénavant tous les TA et les services de réplication sous-jacent sont bloqués à leur connexion. Interdiction de créer de nouvelle opération de réplication.


5/ Attente de la fermeture de tous les TA ou bien du timeout laissés à ceux-ci.

Nouv3 3 ResyncLoc 2.png
  • Dans l'interface de dialogue, onglet consultation :
    1. 818 Info 04/07/2012 08:18:27 MRL Resynchronisation base : les reliquats ont tous été envoyés, attente fermeture des TA !
    2. 819 Info 04/07/2012 08:18:27 MRL Demande resynchronisation base sur celle du parent : attente fermeture terminaux...


6/ Déconnexion brutale de tous les TA et les services de réplication sous-jacent.


7/ Envoi des dernières opérations de dernières minutes qui ont été créées durant le timeout:

  • Dans l'interface de dialogue, onglet consultation :
    1. 27 Info 04/07/2012 08:19:58 MRL Mode revue activé !


8/ Invalidation de la base locale, déconnexion du service superviseur


9/ Téléchargement de la base :

  • La base est sauvée sur le TLR sous c:\var\polaris\database-567-20120703182322-20120704091758194.polaris.sav par exemple
  • Si la gestion du proxy est activée, elle est envoyée sur le proxy
  • Elle est téléchargée sur le réplicateur secondaire ayant demandé la resynchronisation locale dans le répertoire c:\var\polaris (par défaut)
Nouv3 3 ResyncLoc 4.png
  • Dans l'interface de dialogue, onglet "Processus"
Nouv3 3 ResyncLoc 5.png
  • Dans l'interface de dialogue, onglet "Consultation" ou "Consultation inversée" :
    1. 880 Info 04/07/2012 08:19:58 MRL Téléchargement de la base de données du parent...
    2. 883 Info 04/07/2012 08:20:01 MRL Téléchargement du fichier «file://database-567-20120703182322-20120704091758194.polaris.sav»......


10/ Installation de la base

  • Dans l'interface de dialogue, onglet "Processus" :
Nouv3 3 ResyncLoc 6.png
  • Puis figure entre parenthèses, la requête en cours d'exécution
Nouv3 3 ResyncLoc 8.png
  • Dans l'interface de dialogue, onglet Consultation :
    1. 891 Info 04/07/2012 08:20:14 MRL Déploiement de la base...
    2. 895 Info 04/07/2012 08:20:15 MRL Restauration de la base de données D:\PolarisProg\client5\Var\bdd-restore-file-PLRIS-SALON-680......


11/ Maintenance totale de la base (REINDEX + VACUUM), nécessaire pour contrôler éventuellement le travail de restauration.

  • Dans l'interface de dialogue, onglet "Processus"
Nouv3 3 ResyncLoc 7.png
  • Dans l'interface de dialogue, onglet consultation :
    1. 968 Info 04/07/2012 08:23:44 MRL VACUUM/ANALYZE des tables...
    2. 971 Info 04/07/2012 08:24:15 MRL L'opération de maintenance de la base de données s'est terminée en 30secs !
    3. 972 Info 04/07/2012 08:24:15 MRL Base restaurée en 3mins 59secs


12/ Passage en mode revue pour rapatrier les opérations créées entre la sauvegarde et la fin de la restauration.

  • Dans l'interface de dialogue, onglet consultation :
    1. 1007 Info 04/07/2012 08:24:47 MRL Mode revue des opérations en cours !
    2. 1008 Info 04/07/2012 08:24:47 MRL Récupération de l'opération UR:567/6269 (0 ko.)...
    3. 1042 Info 04/07/2012 08:24:47 MRL Mode revue terminé !


13/ Réouverture des connexions TA et service rep sous-jacent, autorisation réaccordée pour créer des opérations de réplication.

    1. 1071 Info 04/07/2012 08:24:52 MRL Connecté à beatrice (NUR 567)


14/ Reconnexion au service superviseur.

Reflet sur l'interface de dialogue

En se connectant sur l'interface de dialogue, il est possible de savoir si une resynchronisation locale est en cours ou a été programmée. Une ligne vous l'indiquant apparaît alors dans le détail base de données de l'onglet Réplication de l'interface de dialogue.

ResyncLocal04.png

Erreurs possibles

En plus des erreurs traditionnelles liées au réseau ou aux droits, les erreurs suivantes peuvent survenir lors de la demande d'une synchronisation locale :

  • La synchronisation avec le service superviseur a été annulée, le service concerné n'est pas/plus en ligne !
Le service superviseur a besoin d'être contacté pour la synchronisation locale. Pour gêner au minimum, ces dernières sont annulées si la liaison avec le service superviseur n'est plus assurée.
  • Le service de réplication superviseur (TLR) ne peut pas être mis à jour par rapport à son parent puisqu'il contient lui même la base de référence !
Vous essayez de démarrer une synchronisation sur le TLR, ce qui est absurde car il n'a personne à contacter pour obtenir une version référentielle de la base. Cette opération n'est pas supportée et il vous le fait savoir.