Fehler: Table "DATA_POINTS" already exists

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
Onthefly
Beiträge: 937
Registriert: 07.12.2009, 11:55
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

Fehler: Table "DATA_POINTS" already exists

Beitrag von Onthefly » 17.02.2021, 10:33

Moin,

habe folgende Fehlermeldung wenn CCU-Historian aufgerufen wird.
Historian Fehler_17Feb2021.png
Unter Details ist folgendes gelistet:

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]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:451)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.get(DbException.java:181)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:85)
at org.h2.command.CommandContainer.update(CommandContainer.java:133)
at org.h2.command.Command.executeUpdate(Command.java:267)
at org.h2.command.CommandList.update(CommandList.java:62)
at org.h2.command.Command.executeUpdate(Command.java:267)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:233)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:205)
at mdz.ccuhistorian.Database.prepareDatabase(Database.groovy:668)
at mdz.ccuhistorian.Database.connect(Database.groovy:79)
at mdz.ccuhistorian.Database.getDataPoints(Database.groovy:236)
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)

Es lief alles bis zu einem Crash der SD Karte; nach der Wiederherstellung ist nur noch obige Fehlermeldung sichtbar.

Besten Dank und Grüße,
OTF

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

Re: Fehler: Table "DATA_POINTS" already exists

Beitrag von Mathias » 19.02.2021, 22:56

Die Datenbank hat wohl einen bleibenden Schaden genommen.

Führe mal folgenden SQL-Befehl in der Datenbank aus (s.a. Handbuch):

Code: Alles auswählen

UPDATE CONFIG SET VALUE='3' WHERE NAME='internal.databaseVersion'

Onthefly
Beiträge: 937
Registriert: 07.12.2009, 11:55
Hat sich bedankt: 2 Mal
Danksagung erhalten: 3 Mal

Re: Fehler: Table "DATA_POINTS" already exists

Beitrag von Onthefly » 24.02.2021, 00:34

Danke Matthias,

inzwischen musste ich mein RaspberryMatic komplett neu aufsetzen; da hat sich wohl seit einer Weile ein Fehler mit der SD Karte eingeschlichen.
Ich habe es noch hinbekommen ein Backup mit Historian Daten vorher noch zu machen! Interessante Beobachtung: Die DB Größe scheint in den letzten 6-8 Monaten enorm gewachsen zu sein.

Habe mich vorerst nicht getraut das Backup einzuspielen. Werde demnächst ein RPMatic zum spielen haben und könnte es ggf. versuchen!
Historian History 16 Feb 2021.png
Historian History 16 Feb 2021.png (9.37 KiB) 979 mal betrachtet
Besten Dank und Grüße,
OTF

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

Re: Fehler: Table "DATA_POINTS" already exists

Beitrag von Mathias » 24.02.2021, 21:18

Onthefly hat geschrieben:
24.02.2021, 00:34
Interessante Beobachtung: Die DB Größe scheint in den letzten 6-8 Monaten enorm gewachsen zu sein.
Die Datenbank besteht nur aus der Datei history.mv.db. Die trace-Datei enthält nur Fehlermeldungen und kann gelöscht werden. Die filepart-Datei ist mir unbekannt. Dem Alter nach kann sie aber auch gelöscht werden.

Für eine Datenbankwiederherstellung muss aber die history.mv.db sowieso gelöscht werden. Danach den CCU-Historian mit der Option -runscript und der entpackten Backupdatei starten.

Antworten

Zurück zu „CCU-Historian“