FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jnewton957 am 14 Dezember 2022, 15:27:36

Titel: DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: jnewton957 am 14 Dezember 2022, 15:27:36
Hallo,
ich befürchte, mir ist der ein- oder andere Anfängerfehler unterlaufen.

Ich wollte doch nur :-)
jessie auf bullseye und python anheben.
Also über stretch und buster dann bullseye jeweils mit gestopptem fhem angehoben.
Nach einem Fehler beim letzten step für bullseye (kein Zugriff mehr auf die Raspberry 3), habe ich das backup eingespielt.

Nun habe ich fhem wieder laufen mit:
buster (10)
python 3.99
python3 3.11.1
SQLite version 3.27.2 2019-02-25 16:06:06

Aber die fhem.db auf einen recht neuen Sandisk USB Stick 256 GB hatte ich zuerst Zugriffsprobleme und musste den USB Stick neu mit einigen Schwierigkeiten (nonempty) mounten.

Nun kann ich über putty zumindest die fhem.db wieder sehen.

Fhem DbLog zeigt jedoch an:

STATE   DBD::SQLite::db prepare failed: file is encrypted or is not a database at ./FHEM/93_DbLog.pm line 2880.

Ein direkter Zugriff sqlite3 fhem.db über putty meldet: Error: file is not a database

FHEM hat ein frisches update
MODE asynchronous
FVERSION 93_DbLog.pm:v4.13.3-s26750/2022-11-26
SQLite:dbname=/media/usb256/fhem.db
6,8 GB fhem.db


Was kann ich tun, um das leider 3 Monate alte Backup nicht einspielen zu müssen ?

Danke und Grüße
Jörg

Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: DS_Starter am 14 Dezember 2022, 16:53:46
Zitat
Ein direkter Zugriff sqlite3 fhem.db über putty meldet: Error: file is not a database
Naja, DbLog kann das auch nicht besser machen als sqlite3 selbst.  ;)

Nur eine Vermutung ... könnte es sein dass unter dem alten BS die SQLite V2 werkelte ?
Nun ist es die V3.

Falls meine Vermutung stimmt könnte das helfen -> https://www.informaticscentre.co.uk/blog/convert-sqlite-version-2-database-version-3-mysql/

Grüße,
Heiko
Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: betateilchen am 14 Dezember 2022, 17:28:33
Zeig doch mal den Inhalt der DbLog Konfigurationsdatei, in der die Verbindungsdaten zur Datenbank stehen.

Und was liefert

ls -lh /media/usb256/fhem.db
Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: jnewton957 am 14 Dezember 2022, 18:20:32
Zitat von: DS_Starter am 14 Dezember 2022, 16:53:46


Nur eine Vermutung ... könnte es sein dass unter dem alten BS die SQLite V2 werkelte ?
Nun ist es die V3.


Aktuell ist es : SQLite version 3.27.2 2019-02-25 16:06:06

Da ich aber bisher immer mit sudo sqlite3 /media/usb256/fhem.db gestartet habe, müsste es doch eine V3 auch bisher gewesen sein.
Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: jnewton957 am 14 Dezember 2022, 18:21:26
Zitat von: betateilchen am 14 Dezember 2022, 17:28:33
Zeig doch mal den Inhalt der DbLog Konfigurationsdatei, in der die Verbindungsdaten zur Datenbank stehen.

Und was liefert

ls -lh /media/usb256/fhem.db

ls -lh /media/usb256/fhem.db liefert:
-rwxrwxrwx 1 fhem dialout 6,3G Dez  5 23:57 /media/usb256/fhem.db

Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: jnewton957 am 14 Dezember 2022, 18:38:54
... und jetzt werde ich dann doch mehr als unruhig...

Gerade die fhem.db Sicherung (Kopie von Raspi fhem.db auf meinen Windows PC) zurück gepielt auf den Raspi unter einem anderen Namen. Nur um zu sehen, ob das backup klappt. Habe es nicht in die dbconf eingebunden!

Mit Zugriff auf diese fhem_b.db erhalte ich: Error: database disk image is malformed

Nun wäre also sogar mein backup korrupt? Ich habe zwar noch ein Jahresbackup von Ende 2021 - aber ich befürchte ja, dass das dann auch nicht geht.



Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: betateilchen am 14 Dezember 2022, 18:41:10
Eine sqlite Datenbank mit 6,3GB auf einem Raspberry 3 ist durchaus eine kritische Größe...
Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: DS_Starter am 14 Dezember 2022, 19:30:25
Zitat
Error: database disk image is malformed
Ist halt auch die Frage wie du ein Backup der Datenbank anfertigst?

Was mir noch einfallen würde, wäre ein Reparaturversuch.

Kann man "zu Fuß" machen oder mit DbRep.

Der Weg wäre
-> DbLog aktivieren aber auf disable setzen damit nichts versucht wird zu loggen
-> ein DbRep definieren wenn noch nicht geschehen
-> in dem Device ein "set ...repairSQLite" ausführen

Erfolg möglich aber ungewiss ... probieren.
Man braucht auch mindestens zusätzlichen Plattenplatz in der Größe der DB.
Titel: Antw:DBD::SQLite::db prepare failed: file is encrypted Error: file is not a database
Beitrag von: jnewton957 am 14 Dezember 2022, 21:50:26
Zitat von: DS_Starter am 14 Dezember 2022, 19:30:25
Ist halt auch die Frage wie du ein Backup der Datenbank anfertigst?

Ich hatte fhem gestoppt und dann mit FileZilla vom /media/usb256/fhem.db die Datei auf die HDD des windows System/PC kopiert.

Da das Rückkopieren jeweils 2 1/2 Std dauert, war ich ja guter Hoffnung. Aber auch die 2 Kopie zurück mit FileZilla in ein anderes Verzeichnis des USB Stick und anschließendem Zugriff per sqlite3 bringt den Error: database disk image is malformed