FHEM Probleme...

Begonnen von Marie, 14 Juni 2016, 14:42:40

Vorheriges Thema - Nächstes Thema

Marie

Ich werde noch wahnsinnig....


also: FHEM 5.7 auf Bananapi und Smartvisu sowie mit SQL-DB, läuft seit ca. 8 Monaten stabil... keine Probleme.
In letzter Zeit traten häufiger mal Probleme am angeschlossen 7" Tablett mit Smartvisu auf: "Konnte Host nicht erreichen". Leider weiss ich nicht zu welchem Zeitpunkt das angefangen hat...
Es wurde aber immer mehr. Gestern mal der Sache angenommen, da das Tablett den Bananapi nicht mehr erreichen konnte.
Über die normale WebOberfläche kam ich immer noch mal wieder ran.
Dachte erst es handelt sich um einen Hardwarefehler, aber das konnte nicht bestätigt werden. Platte ok. Auch ist es nicht zu geringer Plattenspeicher, von der 64 GB SSD sind noch ca. 50 GB  frei...


Vor lauter Verzweiflung dann ein Update gemacht, sowohl auf BS- als auch auf FHEM Ebene...Soweit so gut, nun startet also FHEM gar nicht mehr...grummel.
Leere Datenbank ausprobiert, läuft. Ok, also irgendein Konfig-Problem?! Verbose - Level Global auf 5 gesetzt, FHEM gestartet, bis Absturz gewartet, LOG File abgelesen - nichts. Keine Besonderheiten drin, es hört einfach auf. Mehrfach getestet...keine Änderung.
  Nun will ich nicht meine Konfiguration komplett Stück für Stück neu anlegen müssen...da habe ich keinen Nerv und vor allem keine Zeit zu.
Hat sich im Handling für Config-DB oder sonstige wichtige Dinge irgendetwas wichtiges geändert was zu solchen Problemen führen könnte ?


Ich stehe auf dem Schlauch...im Forum bin ich nicht wirklich fündig geworden, ist aber auch schwierig wenn man nicht genau weiss wonach man suchen muss.


Need help.


Grüße Marie

Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

CoolTux

Hallo Marie,

Bitte gib mal hier das Logfile bekannt. Es klingt erstmal so als würde er die DB korrekt einlesen können und hat dann bei genau einem define eines Devices Probleme. Default ist ja Log 3 aktiv, jetzt weiß ich dummerweise nicht wie man das Log höher drehen kann mit configDB. Eventuell kann da Udo (betateilchen) was zu sagen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

Hallo Cool,


das Log hatte ich schon auf 5 gestellt...brachte aber nichts sichtbares erst einmal. Ich muss das mal aufs wichtigste beschränken und schicke es dann mal hoch...
Es ist zum Mäusemelken..Welches Device könnte den n dafür sorgen das FHEM nicht mehr startet ???


Grüße



Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

CoolTux

Hihi,
Du bist ja Süß. Ich kenne da leider Deine Umgebung nicht. Was mir gerade ein fällt ich habe was von configDB geschrieben. Dabei weiß ich gar nicht ob Du die hast. Oder nimmst Du config.cfg?
Dann schau im Log welches Devices als letztes aufgerufen wurde und trage das in der Konfig darauf folgende Device mal aus.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Eine Alternative ist fhem mit strace zu starten (strace -f -o /tmp/strace.out fhem.pl fhem.cfg)

CoolTux

Das ist ja super Rudi. Danke Dir für den Tip.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

Hallo,


die Frage nach dem Device war auch eher rhetorisch...schon klar das Du mir das nicht sagen kannst...
Stellt sich nur die Frage ob ein Device grundsätzlich die Möglichkeit hat dafür zu sorgen das FHEM nicht mehr startet....


Zitat von: rudolfkoenig am 14 Juni 2016, 17:13:07Eine Alternative ist fhem mit strace zu starten (strace -f -o /tmp/strace.out fhem.pl fhem.cfg)



Geht das auch mit der ConfigDB ? Und wie darf dann der Befehl lauten?


LG


Marie


By the way: ich habe den Befehl mal mit der fhem.cfg probiert, da ich die Datei ja auch noch habe...aber selbst wenn ich in dem Verzeichnis den Befehl ausführe, wo sich fhem.pl befindet, bekomme ich die Meldung


"strace: Can't stat 'fhem.pl': No such file or directory"
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

rudolfkoenig

Strace funktioniert unabhaengig vom fhemcfg/fhem.db.

Das Befehl muss vmtl. lauten "strace -f -o /tmp/strace.out perl fhem.pl fhem.cfg" oder "strace -f -o /tmp/strace.out ./fhem.pl fhem.cfg", halt so, wie man fhem.pl auch sonst, ohne strace, zum Laufen kriegt.

CoolTux


strace -f -o /tmp/strace.out fhem.pl configDB.cfg
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Zitat von: CoolTux am 14 Juni 2016, 18:41:14

strace -f -o /tmp/strace.out fhem.pl configDB.cfg


ich geh mal Popcorn holen...

Vermutlich meintest Du


strace -f -o /tmp/strace.out fhem.pl configDB


wobei ich nicht sicher bin, ob nicht der Aufruf von perl selbst noch fehlt.



Aber was mich für die Fehlereingrenzung viel mehr interessieren würde: Im Eingangspost steht "Update auf Betriebssystemebene gemacht" Nun wäre interessant, welche perl Version auf der Plattform läuft.

perl -v
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Marie

Zitat von: CoolTux am 14 Juni 2016, 18:41:14

strace -f -o /tmp/strace.out fhem.pl configDB.cfg



Ich vermute mal das heisst dann



strace -f -o /tmp/strace.out fhem.pl configDB.db


Gruss
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Marie

Da hat betateilchen ein wenig eher als ich gepostet....der Aufruf mit .db am Ende geht...allerdings geht dann nach einiger Zeit strace "out of memory" ?!
Da meine Perl-Kenntnisse doch etwas beschränkt sind, kann ich mit dem trace nur bedingt etwas anfangen. gibt es etwas auf das ich achten muss? Oder wer mag mal seine Kenntnisse zur Verfügung stellen?


@betateilchen: perl 5.18.2
...und ich geh dann mal Popcorn für Dich holen... ;-)


Grüße
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

CoolTux

Zitat von: betateilchen am 14 Juni 2016, 18:46:28
ich geh mal Popcorn holen...

Vermutlich meintest Du


strace -f -o /tmp/strace.out fhem.pl configDB


wobei ich nicht sicher bin, ob nicht der Aufruf von perl selbst noch fehlt.



Aber was mich für die Fehlereingrenzung viel mehr interessieren würde: Im Eingangspost steht "Update auf Betriebssystemebene gemacht" Nun wäre interessant, welche perl Version auf der Plattform läuft.

perl -v

Hast natürlich Recht. Sorry Udo. War mit Kind auf dem Spielplatz und bisschen abgelenkt.
Marie hat mir ein Log gesendet weil zu viel persönlich dazu steht. Was ich sehen konnte war das eine Menge Fehler in Verbindung mit 99_myUtils war.

Global symbol "%FW_webArgs" requires explicit package name at ./FHEM/99_MyUtils.pm line 34.


Mein Verdacht ist die Umstellung auf 5.7. Was denkt ihr. Udo ich spendiere Dir ne Packung Popcorn wenn Du helfen magst  ;)


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

Habe die 99_myUtils.pm mal umbenannt und versucht zu starten aber das war nix. Ändert nichts an der Tatsache.


Hatte auch schon vorher 5.7 drauf, hab mal eben geschaut, auf meinem zweiten FHEM - Raspberry läuft auch schon 5.7 und die waren beide auf dem gleichen Stand.


Aber vielleicht hängt das ja auch dem letzten Update wirklich damit zusammen irgendwie....


Gruss
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Wernieman

Mal anders gedacht.. wie groß ist Deine DB?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

Und was genau wurde upgedatet. Also erstmal FHEM mal bitte unter restoreDir schauen im letzten Datum schauen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

Also habe noch einmal geschaut,


die Fehlermeldungen bzgl. der 99_myUtils sind dann auch weg im Log wenn ich sie umbenenne.


Die configDB ist schon ziemlich gross, ca.182 MB...ich werde sie mal testweise verkleinern....


Grüße


Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

betateilchen

#17
Zitat von: Marie am 14 Juni 2016, 19:00:15
der Aufruf mit .db am Ende geht

Das geht, aber fhem funktioniert dann nicht. Glaub mir, da gehört KEIN .db ans Ende!


Wie kann man denn eine configDB mit 182 MB produzieren?

Mach mal ein configdb reorg 10

und poste die Ausgabe.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Das kann sie glaube nicht Udo. Ihr FHEM startet nicht!!!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

@beta: ja stimmt, ohne .db gehts.


Und die DB? Tja, frag mal das System....die habe ich mir ja nicht ausgedacht...sind halt schon einige alte Konfigs drin denke ich...


Gruß
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Marie

Zitat von: CoolTux am 14 Juni 2016, 20:28:04
Das kann sie glaube nicht Udo. Ihr FHEM startet nicht!!!


Stimmt!
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Marie

Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

betateilchen

es muss doch irgendwas im Logfile stehen, warum fhem nicht startet. Das kann nicht nur an der 99_myUtils.pm liegen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Benni

Zitat von: betateilchen am 14 Juni 2016, 20:25:03
Wie kann man denn eine configDB mit 182 MB produzieren?

Geht schon: Meine hat auch 200MB.  ;D
Habe aktuell 25 Versionen in der DB und einige Files (auch einige Images)

Sollte aber grundsätzlich auch kein Problem sein, oder?

betateilchen

nein, ein Problem ist das an sich nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Autsch, habe gerade mal geschaut. 232Mb. Räume gerade auf. Kann es sein das das ewig dauert. Meiner rödelt schon 10 min und das ganze fhem steht   ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Marie

#27
Bei mir waren nur 6 Versionen drin...


habe dann mal aber die vorletzte Version aus dem Backup eingespielt und FHEM läuft wieder...und nun mal sukzessive Approximation betreiben...


Grüße


PS: Aber nicht mehr heute, keine Lust mehr...


Danke @ all für Eure Hilfe, ich melde mich falls ich herausfinde wo das Problem liegt...
Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

betateilchen

Zitat von: Marie am 14 Juni 2016, 20:45:54
habe dann mal aber die vorletzte Version aus dem Backup eingespielt und FHEM läuft wieder

Na das ist doch mal das Wichtigste.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen


-----------------------------------------------------------------
configDB Database Information
-----------------------------------------------------------------
# $Id: configDB.pm 11560 2016-05-29 19:46:13Z betateilchen $
-----------------------------------------------------------------
dbconn: SQLite:dbname=/opt/fhem/sqldb/configDB.db
dbtype: SQLITE
-----------------------------------------------------------------
config: 8768 entries

Ver 0 saved: Tue Jun 14 20:51:27 2016 def: 377 attr: 1815
Ver 1 saved: Tue Jun 14 20:48:28 2016 def: 377 attr: 1814
Ver 2 saved: Tue Jun 14 20:47:18 2016 def: 377 attr: 1814
Ver 3 saved: Tue Jun 14 20:45:51 2016 def: 377 attr: 1813
-----------------------------------------------------------------
state: 1460 entries saved: Tue Jun 14 20:51:24 2016
-----------------------------------------------------------------
filesave: 86 files stored in database
-----------------------------------------------------------------



-rwxr-xr-x  1 fhem dialout 7,5M Jun 14 20:51 configDB.db
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux


-----------------------------------------------------------------
configDB Database Information
-----------------------------------------------------------------
# $Id: configDB.pm 11560 2016-05-29 19:46:13Z betateilchen $
-----------------------------------------------------------------
dbconn: mysql:database=fhemConfigDB;host=localhost;port=3306
dbuser:
dbpass:
dbtype: MYSQL
-----------------------------------------------------------------
config: 36866 entries

Ver 0 saved: Tue Jun 14 07:19:31 2016 def: 501 attr: 2849
Ver 1 saved: Mon Jun 13 06:31:27 2016 def: 501 attr: 2849
Ver 2 saved: Mon Jun 13 06:24:53 2016 def: 501 attr: 2849
Ver 3 saved: Sun Jun 12 21:54:30 2016 def: 501 attr: 2849
Ver 4 saved: Sat Jun 11 14:28:49 2016 def: 501 attr: 2849
Ver 5 saved: Sat Jun 11 13:33:11 2016 def: 501 attr: 2849
Ver 6 saved: Sat Jun 11 13:32:10 2016 def: 502 attr: 2849
Ver 7 saved: Sat Jun 11 13:27:25 2016 def: 502 attr: 2849
Ver 8 saved: Sat Jun 11 13:24:24 2016 def: 502 attr: 2849
Ver 9 saved: Sat Jun 11 13:20:46 2016 def: 502 attr: 2849
Ver 10 saved: Sat Jun 11 13:15:03 2016 def: 502 attr: 2849
-----------------------------------------------------------------
state: 5900 entries saved: Tue Jun 14 07:19:25 2016
-----------------------------------------------------------------
filesave: 31 files stored in database
-----------------------------------------------------------------


232M Jun 14 20:50 fhemconfig.ibd
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Benni


-----------------------------------------------------------------
configDB Database Information
-----------------------------------------------------------------
# $Id: configDB.pm 11560 2016-05-29 19:46:13Z betateilchen $
-----------------------------------------------------------------
dbconn: SQLite:dbname=/opt/fhem/configDB.db
dbtype: SQLITE
-----------------------------------------------------------------
max Versions: 25
config: 149877 entries

Ver 0 saved: Sat Jun 11 05:17:33 2016 def: 773 attr: 5019
Ver 1 saved: Fri Jun 10 22:50:04 2016 def: 773 attr: 5012
Ver 2 saved: Tue Jun  7 08:47:36 2016 def: 772 attr: 5008
Ver 3 saved: Tue Jun  7 08:45:56 2016 def: 772 attr: 5007
Ver 4 saved: Tue Jun  7 07:05:06 2016 def: 772 attr: 5006
Ver 5 saved: Mon Jun  6 09:45:47 2016 def: 771 attr: 5002
Ver 6 saved: Mon Jun  6 09:35:51 2016 def: 771 attr: 5002
Ver 7 saved: Mon Jun  6 09:32:28 2016 def: 771 attr: 5002
Ver 8 saved: Mon Jun  6 08:29:34 2016 def: 771 attr: 5002
Ver 9 saved: Mon Jun  6 08:28:36 2016 def: 771 attr: 5002
Ver 10 saved: Mon Jun  6 08:22:43 2016 def: 771 attr: 5001
Ver 11 saved: Mon Jun  6 08:08:10 2016 def: 771 attr: 5000
Ver 12 saved: Mon Jun  6 07:52:29 2016 def: 771 attr: 4999
Ver 13 saved: Fri Jun  3 23:18:18 2016 def: 770 attr: 4992
Ver 14 saved: Fri Jun  3 22:45:50 2016 def: 769 attr: 4990
Ver 15 saved: Fri Jun  3 16:31:38 2016 def: 769 attr: 4990
Ver 16 saved: Thu Jun  2 18:40:03 2016 def: 767 attr: 4986
Ver 17 saved: Thu Jun  2 10:24:37 2016 def: 767 attr: 4986
Ver 18 saved: Tue May 31 22:33:16 2016 def: 767 attr: 4986
Ver 19 saved: Tue May 31 17:59:18 2016 def: 767 attr: 4985
Ver 20 saved: Wed May 25 14:57:15 2016 def: 766 attr: 4981
Ver 21 saved: Tue May 24 21:50:08 2016 def: 766 attr: 4979
Ver 22 saved: Mon May 23 22:08:38 2016 def: 766 attr: 4979
Ver 23 saved: Mon May 23 22:01:35 2016 def: 766 attr: 4978
Ver 24 saved: Mon May 23 22:00:16 2016 def: 766 attr: 4978
Ver 25 saved: Mon May 23 21:55:37 2016 def: 766 attr: 4977
-----------------------------------------------------------------
state: 8916 entries saved: Sat Jun 11 05:17:33 2016
-----------------------------------------------------------------
filesave: 72 files stored in database
-----------------------------------------------------------------



200M Jun 14 11:38 configDB.db

Marie


Bei mir sind es nur 9212 Entries und max 6 Versionen...dafür aber 182 MB...

Banana Pi & FHEM2FHEM Raspberry,RS485 Modbus Stromzähler UMG96, diverse Schaltsteckdosen 433 MHz, 868 MHz, MYSENSORS Temperatursensoren , Smartvisu, Homekit & Siri, Geofency, Zwave Rauchmelder & Steckdosen & Garagensteuerung, TabletUi mit BananaPi M2Ultra im Wohnmobil, Homebridge usw.usw.

Wernieman

Kenn mich jetzt nicht sooo mit SQL-Light aus, aber auffällig ist:

User                Einträge    DB-Größe
------------------------------------------------
betateilchen     8768          7,5M
CoolTux           36866      232M
Benni             149877     200M
Marie                  9212     182M


Meines Wissens sollte man "hin und wieder" bei SQL-light die DB "optimieren", vor allem nach größeren "Löschvorgängen".  Fragt mich bitte jetzt nur nicht wie ...

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

Naja, ganz so einfach ist das nicht. Du weisst ja nicht was noch alles mit in der DB an binär Files drin steckt.    ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Doch, es ist eigentlich ganz einfach, wenn man sich an die Vorschläge hält, die in der commandref stehen.
Und mit gespeicherten Binärdateien in der Datenbank hat das überhaupt nichts zu tun. ;)



Create an empty database, e.g. with sqlite3:

mba:fhem udo$ sqlite3 configDB.db

SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> pragma auto_vacuum=2;
sqlite> .quit

mba:fhem udo$



Das Entscheidendene ist das pragma auto_vacuum=2, das dafür sorgt, dass die Datenbank durch eine Löschung auch tatsächlich kleiner wird. Das Beispiel bezieht sich auf sqlite wo das extrem wichtig ist. Denn ansonsten wird die Datenbank einfach weitergeschrieben und das sqlite-File dadurch immer größer (übrigens nicht nur für configDB relevant, sondern auch bei DbLog)

Wie andere Datenbanksysteme das handhaben, weiß ich nicht so genau.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Ich habe keine Erfahrung mit auto_vacuum, aber interessiert (nicht wg. FHEM, da setze ich weiterhin auf fhem.cfg), und wuerde gerne wissen, welche der beiden Aussagen richtig ist:

ZitatDas Entscheidendene ist das pragma auto_vacuum=2, das dafür sorgt, dass die Datenbank durch eine Löschung auch tatsächlich kleiner wird.

https://www.sqlite.org/pragma.html#pragma_auto_vacuum
ZitatWhen the value of auto-vacuum is 2 or "incremental" then the additional information needed to do auto-vacuuming is stored in the database file but auto-vacuuming does not occur automatically at each commit as it does with auto_vacuum=full.  In incremental mode, the separate incremental_vacuum pragma must be invoked to cause the auto-vacuum to occur.

betateilchen

#37
Aller guten Dinge sind drei:

Zitat
Auto-VACCUM
SQLite Auto-VACUUM does not do the same as VACUUM rather it only moves free pages to the end of the database thereby reducing the database size. By doing so it can significantly fragment the database while VACUUM ensures defragmentation. So Auto-VACUUM just keeps the database small.

Und dass die Datenbank tatsächlich klein bleibt, ist ja in der vorangegangenen Tabelle von Werniemann eindeutig belegt.

(auto_vacuum=2 und auto_vacuum=full sind in diesem Zusammenhang äquivalent)

Zitat von: rudolfkoenig am 15 Juni 2016, 10:39:22
nicht wg. FHEM, da setze ich weiterhin auf fhem.cfg

ach Rudi... :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Zitatauto_vacuum=2 und auto_vacuum=full sind in diesem Zusammenhang äquivalent

Laut sqlite Doku ist 2=incremental, und 1=full
Deswegen meine Verwirrung.

betateilchen

Komm, jetzt verwirren wir die Anwender endgültig...

Du hast völlig recht: 1 = FULL, 2 =  INCREMENTAL

Aber: mit "äquivalent" meinte ich, dass es im "Einsatzfall" der configDB egal ist, ob man das mit 1 oder 2 setzt, da configDB nicht mit einer permanent geöffneten Datenbank arbeitet und es deshalb egal ist, ob eine auto_vacuum (also das Verschieben von leerem Speicherplatz an das Ende der Datenbank) nach jedem commit (auto_vacuum=1) ausgeführt wird oder nicht (auto_vacuum=2). Ein gesetztes auto_vacuum findet auf jeden Fall beim Schließen der Datenbankverbindung statt.

Sorry für die Verwirrung, ich hatte mich wirklich unglücklich ausgedrückt. Vielleicht hätte ich statt "äquivalent" besser "egal" schreiben sollen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

#40
Bei anderen Datenbnken wird es im "Prinzip" ähnlich gemacht. Allerdings kümmert sich der Server (meistens) um das automatische Aufräumen. Nur in Extremfällen wie z.B. löschen vieler Daten (oder Platzmangel auf der HDD) macht man ein optimieren der Datenbankfiles.

Allerdings kann es bei mysql unter Umständen besser sein, nicht zu optimieren ... allerdings nur für (für fhem uninteressante) Havy-Load-DBs

Aber als Kurzfasung:
Wenn ich mir betateilchens DB-Daten und die der anderen ansehe (und anderer Informationen), würe ich auf jedem Falle die DBs optimieren. Und wenn, wie CoolTux angedeutet, mehr in der DB steht, sollte man erst recht optimieren ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html