Si vous avez ce message : « The database disk image is malformed » dans les logs de Domoticz, c’est que vous avez sûrement besoin de la réparer 🙂
Ouvrez une console de commande et exécutez les quelques lignes ci-dessous.
Installation sqlite3 (si vous ne l’avez pas déjà)
1 |
sudo apt-get install sqlite3 |
Avant de commencer à toucher à la base de données stopper le service Domoticz
1 |
sudo /etc/init.d/domoticz.sh stop |
C’est partie pour la réparation de notre cher base de données
Attention, mettre le bon chemin d’installation de votre serveur Domoticz. Pour l’exemple, j’ai gardé le chemin par défaut. :
1 2 3 4 5 6 7 8 |
cd ~ cd domoticz sqlite3 domoticz.db .mode insert .output dump.sql .dump .exit sqlite3 -init dump.sql repaired.db |
Une fois toutes ces commandes validées vous devez faire une dernière manipulation
1 |
mv repaired.db domoticz.db |
Voila ! C’est terminé, vous avez une base de données qui a été, en théorie réparée.
Verifier si la base est réparée
Si vous souhaitez savoir si elle a effectivement bien été réparée, je vous invite à exécuter ces quelques lignes de commandes :
1 2 3 |
sqlite3 domoticz.db pragma integrity_check; .exit |
pour votre information personnel voici ce que fait integrity_check : https://sqlite.org/pragma.html#pragma_integrity_check
Redémarrer le service Domoticz :
1 |
sudo /etc/init.d/domoticz.sh start |
Merci beaucoup pour cette procedure, j’avais du faire une restauration de la bdd a l’arrache sans arreter domoticz, du coup j’avais ce message d’erreur.
Inquiet de perdre les donnees, ou de devoir revenir a une ancienne sauvegarde, grace a toi, j’ai rien perdu !
Encore merci !
Merci à toi pour ce message. Amicalement. Guillaume