Fehler: The database has been closed [90098-199]

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
TheCrusher
Beiträge: 75
Registriert: 28.05.2020, 10:21
System: CCU
Hat sich bedankt: 14 Mal

Fehler: The database has been closed [90098-199]

Beitrag von TheCrusher » 23.12.2020, 22:00

Hallo,

meine historian zeigt mir den oben genannten Fehler und gibt dies als details aus. das was ich zu dem Thema finde, bringt mich leider an meine grenzen.
mein stick ist fat32 formatiert und die historian Datei Grösse ist über 4 gb. das ist wohl, nach meiner Kenntnis was ich so rauslesen konnte, das problem. wie ich das nun behebe usw. da stosse ich dann leider an meine grenzen.

vielleicht kann mir jemand helfen das wieder in gang zu bringen.

vielen dank schon mal für die mühen und frohe weihnachten

vg stefan

Code: Alles auswählen

org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database has been closed [90098-199]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:617)
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
	at org.h2.message.DbException.get(DbException.java:194)
	at org.h2.engine.Session.getTransaction(Session.java:1709)
	at org.h2.engine.Session.startStatementWithinTransaction(Session.java:1729)
	at org.h2.command.Command.executeQuery(Command.java:196)
	at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85)
	at mdz.ccuhistorian.Database.getDataPoints(Database.groovy:339)
	at mdz.ccuhistorian.ExtendedStorage.getDataPoints(ExtendedStorage.groovy:44)
	at index$_run_closure2$_closure4$_closure8$_closure22.doCall(index.gy:128)
	at index$_run_closure2$_closure4$_closure8$_closure22.doCall(index.gy)
	at index$_run_closure2$_closure4$_closure8.doCall(index.gy:127)
	at index$_run_closure2$_closure4$_closure8.doCall(index.gy)
	at index$_run_closure2$_closure4.doCall(index.gy:104)
	at index$_run_closure2$_closure4.doCall(index.gy)
	at index$_run_closure2.doCall(index.gy:32)
	at index$_run_closure2.doCall(index.gy)
	at mdz.ccuhistorian.webapp.PageRenderer$_runSafe_closure2.doCall(PageRenderer.groovy:53)
	at mdz.ccuhistorian.webapp.PageRenderer$_runSafe_closure2.doCall(PageRenderer.groovy)
	at mdz.ccuhistorian.webapp.WebUtilities$_catchToLog_closure1.doCall(WebUtilities.groovy:83)
	at mdz.ccuhistorian.webapp.WebUtilities$_catchToLog_closure1.doCall(WebUtilities.groovy)
	at mdz.Exceptions.lambda$0(Exceptions.java:84)
	at mdz.Exceptions.catchToLog(Exceptions.java:74)
	at mdz.Exceptions.catchToLog(Exceptions.java:84)
	at mdz.ccuhistorian.webapp.WebUtilities.catchToLog(WebUtilities.groovy:81)
	at mdz.ccuhistorian.webapp.PageRenderer.runSafe(PageRenderer.groovy:51)
	at mdz.ccuhistorian.webapp.PageRenderer.writeContent(PageRenderer.groovy:279)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeBody_closure6$_closure11.doCall(PageRenderer.groovy:137)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeBody_closure6$_closure11.doCall(PageRenderer.groovy)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeBody_closure6.doCall(PageRenderer.groovy:132)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeBody_closure6.doCall(PageRenderer.groovy)
	at mdz.ccuhistorian.webapp.PageRenderer.writeBody(PageRenderer.groovy:131)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeDocument_closure4.doCall(PageRenderer.groovy:103)
	at mdz.ccuhistorian.webapp.PageRenderer$_writeDocument_closure4.doCall(PageRenderer.groovy)
	at mdz.ccuhistorian.webapp.PageRenderer.writeDocument(PageRenderer.groovy:101)
	at mdz.ccuhistorian.webapp.PageRenderer$_render_closure1.doCall(PageRenderer.groovy:24)
	at mdz.ccuhistorian.webapp.PageRenderer$_render_closure1.doCall(PageRenderer.groovy)
	at mdz.ccuhistorian.webapp.WebUtilities$_catchToLog_closure1.doCall(WebUtilities.groovy:83)
	at mdz.ccuhistorian.webapp.WebUtilities$_catchToLog_closure1.doCall(WebUtilities.groovy)
	at mdz.Exceptions.lambda$0(Exceptions.java:84)
	at mdz.Exceptions.catchToLog(Exceptions.java:74)
	at mdz.Exceptions.catchToLog(Exceptions.java:84)
	at mdz.ccuhistorian.webapp.WebUtilities.catchToLog(WebUtilities.groovy:81)
	at mdz.ccuhistorian.webapp.PageRenderer.render(PageRenderer.groovy:21)
	at index.run(index.gy:230)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1351)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:186)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:158)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:929)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1051)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:508)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:451)
Caused by: java.lang.IllegalStateException: Writing to nio:/media/usb1/ccu-historian/history.mv.db failed; length 94209 at 4294803456 [1.4.199/2]
	at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:883)
	at org.h2.mvstore.DataUtils.writeFully(DataUtils.java:443)
	at org.h2.mvstore.FileStore.writeFully(FileStore.java:113)
	at org.h2.mvstore.MVStore.write(MVStore.java:935)
	at org.h2.mvstore.MVStore.storeNow(MVStore.java:1332)
	at org.h2.mvstore.MVStore.store(MVStore.java:1190)
	at org.h2.mvstore.MVStore.tryCommit(MVStore.java:1135)
	at org.h2.mvstore.MVStore.writeInBackground(MVStore.java:2763)
	at org.h2.mvstore.MVStore$BackgroundWriterThread.run(MVStore.java:3123)
Caused by: java.io.IOException: File too large
	at org.h2.store.fs.FileNio.write(FilePathNio.java:79)
	at org.h2.mvstore.DataUtils.writeFully(DataUtils.java:439)
	... 7 more

Benutzeravatar
Baxxy
Beiträge: 10769
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 602 Mal
Danksagung erhalten: 2201 Mal

Re: Fehler: The database has been closed [90098-199]

Beitrag von Baxxy » 24.12.2020, 11:14

TheCrusher hat geschrieben:
23.12.2020, 22:00
vielleicht kann mir jemand helfen das wieder in gang zu bringen.
Eine 4GB große Datenbank auf einem USB-Stick an der CCU3 ist schon ne Nummer. :shock:
Vermutlich hast du den Historian schlecht konfiguriert so das er zu viel aufzeichnet. Aber das nur am Rande.

Aus der Nummer rauskommen ist leicht wenn du ein Linux System zur Verfügung hast.
  • 1. Zentrale herunterfahren und alle Daten vom Stick sichern
  • 2. den Stick idealerweise mit ext4-Dateisystem formatieren
    (habe hier einen 64GB Stick mit NTFS und exFAT probiert, wird nicht von der CCU3 erkannt)
  • 3. die Daten zurück auf den Stick kopieren und die Zentrale dann damit neu starten.
Du kannst natürlich auch einen 2.Stick mit ext4 formatieren und dann die Daten von Stick 1 zu Stick 2 kopieren.

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

Re: Fehler: The database has been closed [90098-199]

Beitrag von Mathias » 24.12.2020, 11:34

Beim Dateisystem FAT32 ist die Dateigröße auf 4 GB beschränkt. Wahrscheinlich hängt der Fehler damit zusammen. Eine Abhilfe wurde bereits beschrieben.

TheCrusher
Beiträge: 75
Registriert: 28.05.2020, 10:21
System: CCU
Hat sich bedankt: 14 Mal

Re: Fehler: The database has been closed [90098-199]

Beitrag von TheCrusher » 24.12.2020, 12:14

danke für eure antworten.

ja das problem ist wohl der Anfängerfehler schlechthin...konfiguration? braucht man nicht...hauptsache läuft...bei mir war kein einziger Datenpunkt inaktiv gestellt...habe das konfigurieren auf das verstecken beschränkt! :mrgreen:

naja...dann ist es wohl kein wunder wenn in ca 6 Monaten 4gb zusammen kommen.

hab jetzt einfach die daten gekillt und fang nochmal neu an...mit ordentlicher Konfiguration...

TheCrusher
Beiträge: 75
Registriert: 28.05.2020, 10:21
System: CCU
Hat sich bedankt: 14 Mal

Re: Fehler: The database has been closed [90098-199]

Beitrag von TheCrusher » 09.01.2021, 07:38

hallo,
nachdem nun vor weihnachten die datenbank zu groß wurde, siehe oben, hat es meinen stick an der ccu zerschossen.
neuen rangestepselt und geht nun hoffe ich auch mal was länger.

nachdem vorweihnachtlichen problem hatte ich mich ja nun mal mit der konfiguration usw beschäftigt🙈 und mir das handbuch historian zu gemüte gezogen.

zwei fragen bleiben mir aber bis dato unbeantwortet und im netz find ich auch nicht wirklich was dazu.

1. thema einträge der datenbank

durch die nun vernünftige konfiguration wurden die einträge von weit über 50k je 24h auf ca. 6-7k je 24h gedrosselt. mir stellt sich nun die frage, wieviel entsprechen denn etwa die einträge in der datenbank? also zb 100k einträge sind etwa xx mb!?! ja ich könnte auch den stick einfach am rechner anschließen und schauen wie groß, aber meine vermutung, durch das ständige an und abstepseln jetzt über weihnachten, wegen oben genannten problem, hab ich dem alten stick keine freude gemacht.

2. thema datenbank komprimieren/optimieren

habe gelesen man sollte die so einmal im jahr machen mit den befehlen -recalc und -compact. nur wie wo stell ich das an bei einer ccu3 wo es als addon läuft 🤷‍♂️

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

Re: Fehler: The database has been closed [90098-199]

Beitrag von Mathias » 09.01.2021, 16:02

TheCrusher hat geschrieben:
09.01.2021, 07:38
1. thema einträge der datenbank

durch die nun vernünftige konfiguration wurden die einträge von weit über 50k je 24h auf ca. 6-7k je 24h gedrosselt. mir stellt sich nun die frage, wieviel entsprechen denn etwa die einträge in der datenbank? also zb 100k einträge sind etwa xx mb!?!
Ich habe 46 Geräte und komme (alle Datenpunkte, aber mit Kompression) auf ca. 5.000 Einträge pro 24h. Meine Datenbank belegt 51 MByte pro 1 Mio. Einträge.
TheCrusher hat geschrieben:
09.01.2021, 07:38
2. thema datenbank komprimieren/optimieren
habe gelesen man sollte die so einmal im jahr machen mit den befehlen -recalc und -compact. nur wie wo stell ich das an bei einer ccu3 wo es als addon läuft 🤷‍♂️
Hier gibt es ein paar allgemeine Infos zum CCU-Historian als Add-On.
Und hier steht, wie die Datenbank verdichtet wird.

Antworten

Zurück zu „CCU-Historian“