Documentation > Commandes > Repair
La commande repair a pour effet de resynchroniser les segments d'une table.
repair table [using DirName];
La commande repair n'a de sens que pour les tables qui possèdent deux ou trois réplicats. Celles qui n'en ont qu'un ne sont pas protégées contre les erreurs d'écriture. Pour elles vous ne pouvez utiliser que la commande Alter table TableName set segments up
Pour pouvoir réparer une table, il faut commencer par la vérouiller. Cela permet de garantir le processus de resynchronisation des segments.
Ce processus consiste à balayer la liste des segments désynchronisés de la table. Pour chacun d'entre eux, le serveur recherche un homologue sain et effectue une opération export/import. Le ficher produit a l'occasion sera stocké dans le répertoire de travail du synsql broker (défini dans son fichier de configuration). Si ce répertoire ne convient pas, par exemple parce qu'il ne présente pas suffisamment d'espace libre on peut demander l'utilisation d'un autre répertoire via l'option 'using DirName'.
Le résultat final dépend de l'état de la table et des data brokers qui la portent:
- Si une des partitions voit tous ses homologues désynchronisés, la table est perdue.
- Si tous les homologues d'un segment désynchronisé sont portés par des data brokers hors ligne, ce segment ne sera pas resynchronisé.
- Si un segment désynchronisé est porté par un data broker hors ligne, il ne sera pas resynchronisé.
- Si tous les segments désynchronisés possèdent un homologue porté par un data broker en ligne et sont eux même portés par des data brokers en ligne la réparation sera complète.
| 15 Jan 2026 07:25:07 | English version |