automatisches, tägliches Backup seit 2023-05-08 fehlerhaft?

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
Norfolk
Beiträge: 85
Registriert: 27.12.2014, 20:20
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

automatisches, tägliches Backup seit 2023-05-08 fehlerhaft?

Beitrag von Norfolk » 06.02.2024, 19:11

Hallo,

mir hat ein Stromausfall die Historian-DB zerschossen und ich habe eines der automatischen täglichen Backups eingespielt.

Leider musste ich dabei feststellen, dass das letzte fehlerfreie Backup am 2023-05-08 erstellt wurde und ab dem 2023-05-09 nur mehr defekte Backups erstellt wurden.

Kennt das jemand, hat jemand eine Idee?

Ein paar Details zum Überblick:
Das erste Backup am 2021-08-11 war ca. 30 MB groß.
Das letzte fehlerfreie Backup vom 2023-05-08 war bereits ca. 400 MB gross und hat alle Daten ab Installation 2021-08-10 umfasste.
Aber ab 2023-05-09 begann die Dateigröße wieder bei nur ca. 40 MB, um seither bis 2024-02-05 auf ca. 52 MB anzuwachsen.
Leider sind die Backups ab 2023-05-09 alle fehlerhaft, es kommt nach Einspielen beim Starten des CCU-Historian im Log laufend die schwere Ausnahme wie unten codiert, und das ca. 3-4x pro Sekunde, womit der CCU-Historian praktisch nicht mehr aufgerufen werden kann.

Den Datenverlust kann ich verschmerzen und lasse jetzt mal das fehlerfreie Backup vom 2023-05-09 laufen, in der Hoffnung, dass ich jetzt wieder ein sauberes System habe und der Fehler nicht schon damals drin steckte. Notfalls gäbe es davor auch tägliche Backups.

Aber was kann die Ursache gewesen sein?
Wie könnte ich den Fehler finden bzw. einer Wiederholung vorbeugen?

Am System habe ich - glaube ich - schon lange nichts verändert. Es läuft die Raspberrymatic 3.59.6.20211009 mit einem CCU-Historian 2.9.0, CUxD 2.8 und sonst nichts auffälliges auf einer Charly RP3. Die DB und die Backups liegen auf einem 64GB-USB-Stick mit EXT4, die DB selbst war vor dem Crash 9 GB groß, die neu eingespielte ist 400MB gross, am USB-Stick sind ca. 20 GB frei. Die Backups sind zwar im üblichen lesbares SQL geschrieben, aber egal ob 40 MB oder 400 MB, es ist viel zu viel für eine händische Fehlersuche. Grob durchgeblättert schauen alle Backups plausibel aus, der Fehler muss also irgendwo im Detail stecken.

Code: Alles auswählen

2024-02-06 18:11:09|INFO   |Connecting to database
2024-02-06 18:11:09|INFO   |Stopping database
2024-02-06 18:11:09|SEVERE |Error updating data point storage
2024-02-06 18:11:09|SEVERE |Exception: Table "DATA_POINTS" already exists; SQL statement:
CREATE TABLE DATA_POINTS (
                                DP_ID INT IDENTITY,     TABLE_NAME VARCHAR NOT NULL,
                                STATE INT,

                                INTERFACE VARCHAR NOT NULL, ADDRESS VARCHAR NOT NULL,
                                IDENTIFIER VARCHAR NOT NULL,

                                PREPROC_TYPE INT, PREPROC_PARAM DOUBLE,

                                DISPLAY_NAME VARCHAR, ROOM VARCHAR, FUNCTION VARCHAR, COMMENT VARCHAR,
                                CUSTOM VARCHAR DEFAULT '{}',

                                PARAM_SET VARCHAR, TAB_ORDER INT,
                                MAXIMUM DOUBLE, UNIT VARCHAR,
                                MINIMUM DOUBLE, CONTROL VARCHAR,
                                OPERATIONS INT, FLAGS INT,
                                TYPE VARCHAR, DEFAULT_VALUE DOUBLE
                        ); [42101-199]
2024-02-06 18:11:09|SEVERE |Detail: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "DATA_POINTS" already exists; SQL statement:
CREATE TABLE DATA_POINTS (
                                DP_ID INT IDENTITY,     TABLE_NAME VARCHAR NOT NULL,
                                STATE INT,

                                INTERFACE VARCHAR NOT NULL, ADDRESS VARCHAR NOT NULL,
                                IDENTIFIER VARCHAR NOT NULL,

                                PREPROC_TYPE INT, PREPROC_PARAM DOUBLE,

                                DISPLAY_NAME VARCHAR, ROOM VARCHAR, FUNCTION VARCHAR, COMMENT VARCHAR,
                                CUSTOM VARCHAR DEFAULT '{}',

                                PARAM_SET VARCHAR, TAB_ORDER INT,
                                MAXIMUM DOUBLE, UNIT VARCHAR,
                                MINIMUM DOUBLE, CONTROL VARCHAR,
                                OPERATIONS INT, FLAGS INT,
                                TYPE VARCHAR, DEFAULT_VALUE DOUBLE
                        ); [42101-199]
LG,
Norfolk

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: automatisches, tägliches Backup seit 2023-05-08 fehlerhaft?

Beitrag von Mathias » 07.02.2024, 13:05

Bitte mal folgende Schritte durchführen:
  • CCU-Historian stoppen.
  • Aktuelle Datenbank (history.mv.db) in ein anderes Verzeichnis verschieben.
  • Dann auf der Kommandozeile das Backup mit java -jar ccu-historian.jar -runscript backup.sql zurückspielen.
  • Danach wieder normal starten.

Norfolk
Beiträge: 85
Registriert: 27.12.2014, 20:20
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

Re: automatisches, tägliches Backup seit 2023-05-08 fehlerhaft?

Beitrag von Norfolk » 07.02.2024, 18:15

Vielleicht war die erste Zeile in meinem Post nicht eindeutig formuliert - denn genau das hatte ich gemacht, um das Backup einzuspielen.

Ich habe zum Glück nicht nur ein "backup.sql", sondern jeden Tag ein neues erstellen lassen. Als Ergänzung zum OP hat sich bestätigt, dass der CCU-Historian mit dem Backup vom 2023-05-08 nun wieder normal läuft und auch schon automatisch ein neues Backup erstellt hat, welches auch von der Dateigröße mit 400MB als Fortsetzung zum Stand von 2023-05-08 passt. Lediglich alle Backups, die seit dem 2023-05-08 bis gestern automatisch erstellt wurden, sind offenbar fehlerhaft. Ich habe die Vermutung, dass sich damals - am 2023-05-09 - irgendwie ein Eintrag in die Datenbank geschleust hat, welcher zu defekten Backups führte. Dadurch, dass ich nun auf das alte Backup zurückgegriffen habe, wo dieser fehlerhafte Eintrag noch nicht vorhanden war, läuft jetzt wieder alles normal - bis auf eben den kompletten Datenverlust über den Zeitraum von 2023-05-09 bis 2024-02-06.

PS: Dateigrößen sind im entpackten Zustand gerechnet, also nicht gzipped. Die Dateigrößen zeigen auch schon, dass das Backup defekt war. Wie erwähnt war das Backup anfangs 2021 nur ca. 30MB gross, ist aber über 2 Jahre auf fast 400MB angewachsen, bis der Fehler am 2023-05-08 aufgetreten ist. Am Tag danach, also am 2023-05-09 war das Backup plötzlich nur 40MB gross und ist bis 2024-02-06 wieder auf ca. 50MB angewachsen. Nachdem ich das 400MB-große Backup von 2023-05-08 gestern eingespielt hatte, wurde ca. 1/2 Tag später wieder automatisch ein Backup mit ca. 401MB erstellt. Scheint also jetzt wieder zu passen. In der CCU3 oder im CCU-Historian bzw. CCU-Highchart hatte ich nie einen Fehler gemerkt, d.h. wäre nicht die DB zerschossen worden, hätte ich wohl garnicht festgestellt, dass die Backups seit 8 Monaten fehlerhaft sind. Öffne ich die Backups mit einem Text-Reader, sehe ich keinen Fehler, es sind die typischen, plausiblen SQL-Anweisungen enthalten und auch die defekten Backups enden korrekt. Aber viel mehr als den Start und das Ende der Datei anzuschauen ist mit einem Text-Reader kaum möglich, auch beim Durchscrollen wirken alle Backups, inkl. den defekten Backups normal.

Hier zur Verdeutlichung, wobei das die gzip-Dateien sind, entpackt sind alle Dateien ca. 8x so gross:

Code: Alles auswählen

root@homematic-ccu3:/media/usb1/backup# ls -lh ccu-historian_2021-08-11.gz
-rw-r--r--    1 root     root        4.0M Aug 11  2021 ccu-historian_2021-08-11.gz
root@homematic-ccu3:/media/usb1/backup# ls -lh ccu-historian_2023-05-0?.gz
-rw-r--r--    1 root     root       53.8M May  1  2023 ccu-historian_2023-05-01.gz
-rw-r--r--    1 root     root       53.8M May  2  2023 ccu-historian_2023-05-02.gz
-rw-r--r--    1 root     root       53.9M May  3  2023 ccu-historian_2023-05-03.gz
-rw-r--r--    1 root     root       54.0M May  4  2023 ccu-historian_2023-05-04.gz
-rw-r--r--    1 root     root       54.1M May  5  2023 ccu-historian_2023-05-05.gz
-rw-r--r--    1 root     root       54.2M May  6  2023 ccu-historian_2023-05-06.gz
-rw-r--r--    1 root     root       54.3M May  7  2023 ccu-historian_2023-05-07.gz
-rw-r--r--    1 root     root       54.3M May  8  2023 ccu-historian_2023-05-08.gz
-rw-r--r--    1 root     root        4.0M May  9  2023 ccu-historian_2023-05-09.gz
root@homematic-ccu3:/media/usb1/backup# ls -lh ccu-historian_2024-02-0?.gz
-rw-r--r--    1 root     root        5.2M Feb  1 23:00 ccu-historian_2024-02-01.gz
-rw-r--r--    1 root     root        5.2M Feb  2 23:00 ccu-historian_2024-02-02.gz
-rw-r--r--    1 root     root        5.2M Feb  3 23:00 ccu-historian_2024-02-03.gz
-rw-r--r--    1 root     root        5.3M Feb  4 23:00 ccu-historian_2024-02-04.gz
-rw-r--r--    1 root     root        5.3M Feb  5 20:00 ccu-historian_2024-02-05.gz
-rw-r--r--    1 root     root       54.4M Feb  7 00:02 ccu-historian_2024-02-07.gz
root@homematic-ccu3:/media/usb1/backup#

Antworten

Zurück zu „CCU-Historian“