FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Kaspi am 02 September 2023, 10:15:00

Titel: <GELÖST> Datenbankproblem
Beitrag von: Kaspi am 02 September 2023, 10:15:00
Moin,

irgendwie wird nichts mehr in meine Dantenbank geschrieben.
Lt. LOG Meldungen in der Art von:
Zitat2023.09.02 10:11:36 2: myDbLog - Error table history - DBD::SQLite::st execute_array failed: executing 802 generated 184 errors [for Statement "INSERT INTO history (TIMESTAMP, DEVICE, TYPE, EVENT, READING, VALUE, UNIT) VALUES (?,?,?,?,?,?,?)"] at ./FHEM/93_DbLog.pm line 3214.

Was bedeutet das?
Was kann ich tun?

Gruß
Kaspi

Titel: Aw: Datenbankproblem
Beitrag von: Otto123 am 02 September 2023, 10:32:44
Zitat von: Kaspi am 02 September 2023, 10:15:00Was kann ich tun?
Den Beitrag verschieben damit der Helfer dich findet:
help dblog ergibt Module: 93_DbLog.pm Maintainer: DS_Starter Forum: Automatisierung
Der Verschieben Knopf sitzt links unten. ;)
Titel: Aw: Datenbankproblem
Beitrag von: DS_Starter am 02 September 2023, 12:14:22
schon gefunden  :)

Habe leider jetzt keine Zeit. Deswegen Schnellösung:

1. Attr insertMode=1 setzen

Schauen ob Daten geschrieben werden. Mit verbose=4 bzw. 5 sieht man die "schwierigen" Daten.
Wenn das nicht hilft:

2. vorsorglich Attr useCharfilter=1 setzen

FHEM restarten.
Morgen habe ich wieder Zeit.

Und ja-> Thema verschieben  ;)
Titel: Aw: Datenbankproblem
Beitrag von: Kaspi am 02 September 2023, 13:43:24
LOG:

Zitat2023.09.02 13:40:42 4: myDbLog - ################################################################
2023.09.02 13:40:42 4: myDbLog - ###              start of new Logcycle                       ###
2023.09.02 13:40:42 4: myDbLog - ################################################################
2023.09.02 13:40:42 4: myDbLog - number of events received: 1 of device: myDbLog
2023.09.02 13:40:42 4: myDbLog - check Device: myDbLog , Event: CacheOverflowLastNum: 0
2023.09.02 13:40:42 4: myDbLog - Operation: log_asynch
2023.09.02 13:40:42 4: myDbLog - AutoCommit: ON, Transaction: ON
2023.09.02 13:40:42 4: myDbLog - Primary Key used in history: none
2023.09.02 13:40:42 4: myDbLog - Primary Key used in current: none
2023.09.02 13:40:42 4: myDbLog - Insert mode: Sequential
2023.09.02 13:40:42 4: myDbLog - begin Transaction
2023.09.02 13:40:42 2: myDbLog - ERROR table history - DBD::SQLite::st execute failed: database disk image is malformed [for Statement "INSERT INTO history (TIMESTAMP, DEVICE, TYPE, EVENT, READING, VALUE, UNIT) VALUES (?,?,?,?,?,?,?)"] at ./FHEM/93_DbLog.pm line 2920.

2023.09.02 13:40:42 4: myDbLog - Transaction is switched on. Transferred data is returned to the cache.
2023.09.02 13:40:42 4: myDbLog - Transaction rollback table >history<
2023.09.02 13:40:43 4: myDbLog - ################################################################
2023.09.02 13:40:43 4: myDbLog - ###              start of new Logcycle                       ###
2023.09.02 13:40:43 4: myDbLog - ################################################################

Titel: Aw: Datenbankproblem
Beitrag von: betateilchen am 02 September 2023, 13:48:31
ERROR table history - DBD::SQLite::st execute failed: database disk image is malformed

DbRep hat eine Option, das zu reparieren:

ZitatRepair of a corrupted SQLite database ("database disk image is malformed")

Schau mal in die commandref (https://commandref.fhem.de/#DbRep) zu DbRep, dort unter "repairSQLite"
Titel: Aw: Datenbankproblem
Beitrag von: Kaspi am 02 September 2023, 16:22:46
Kam folgendes bei raus:

ZitatSTATE
DBD::SQLite::db prepare failed: no such table: history at ./FHEM/93_DbLog.pm line 5005.

Titel: Aw: Datenbankproblem
Beitrag von: betateilchen am 02 September 2023, 18:07:45
Die Meldung ist ja recht eindeutig.

Lege die Datenbank neu an und spiele das letzte Backup von letzter Nacht ein.
Titel: Aw: Datenbankproblem
Beitrag von: Kaspi am 03 September 2023, 08:15:09
Hat funktioniert.
Danke 👍💐