Hauptmenü

Datenbank Problem.

Begonnen von Kaspi, 22 Dezember 2017, 17:31:19

Vorheriges Thema - Nächstes Thema

Kaspi

N'abend.

Hab seit dem letzten Update ein kleines Datenbankproblem.

Aus dem EventMonitor:

2017-12-22 17:28:01 DbLog myDbLog DBD::SQLite::st execute_array failed: database disk image is malformed [err was 11 now 2000000000] executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 1519.

Kann einer damit was anfangen und mir helfen ?

Kaspi :)

Markus.

sieht so aus als wenn die DB korrupt ist.
Hatte ich auch schon mal und hab dann nach folgendem link die DB wieder ans laufen bekommen.

http://www.froebe.net/blog/2015/05/27/error-sqlite-database-is-malformed-solved/

Im Grunde wird der Inhalt der alten DB exportiert, eine neue angelegt und dann der Inhalt wieder importiert.

Gruß

Markus


Kaspi

Hi,

hab ich gemacht, dass selbe Problem ;-(

Kaspi

DS_Starter

Hallo Kaspi,

so wie Markus geschrieben hat ist genau der richtige Weg.
Du musst allerdings dafür fhem stoppen oder im Modul "set ... reopen 1800" absetzen. Dann hast du eine halbe Stunde für die Operation mit der DB.

Dann machst du folgende Schritte (für das Beispiel sei es fhem.db). Du findest Anleitungen dazu zu Hauf im Netz:


cd /opt/fhem
sqlite3 fhem.db

sqlite> .mode insert
sqlite> .output dump_all.sql
sqlite> .dump
sqlite> .exit

mv fhem.db fhem-corrupt.db
sqlite3 fhem.db

sqlite> .read dump_all.sql
sqlite> .exit


Evtl. vorher zu root wechseln.
Eine DB-Korruption kann dir bei SQLite immer mal schnell passieren. Ein Backup zu haben ist wichtig.
Eine richtiges DBMS wie MySQL/PostgreSQL ist da bedeutend stabiler.

VG
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

wenn die Datenbank richtig zerschossen ist, funktioniert aber auch der dump nicht mehr.

Also nicht verzweifeln, wenn die Reparaturversuche nicht funktionieren. Dann nimmt man einfach das letzte Backup und arbeitet mit diesem weiter.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kaspi

Jau et klappt  :)

aber was kann passiert sein und was macht diese Prozedur genau?
Ich hab vorher mal aus Spass ein "FHEM" Backup von vor 1/2 Jahr eingespielt, dass selbe Problem.
Daher muss das Problem doch irgendwie woanders liegen ? Oder?

es bleibt schwierig.

Danke

Kaspi  :)