Fehler beim Löschen der Datensätze

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 14:09 Uhr  ·  #1
Guten Tag,

die Fehlermeldung "Fehler beim Löschen des Kontos" verscheint beim Löschen eines non-HBCI-Kontos. Anschließend habe ich versucht die Umsätze zu entfernen. Dabei stieß ich auf 4 Datensätze, die ich auch nicht manuell entfernen kann. Diese verhindern wahrscheinlich die gesamte Löschung des Kontos.
Ich erhalte folgende Fehlermeldung bei dem Versuch, einen Umsatz zu entfernen: "Fehler beim Löschen der Datensätze"

LOG:
Code
[Tue Sep 08 14:03:42 CEST 2020][ERROR][main][de.willuhn.jameica.hbci.gui.action.DBObjectDelete$Worker.run] error while deleting objects
java.rmi.RemoteException: delete failed; nested exception is: 
  org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
delete from UMSATZ where ID = 10031 [50200-199]
  at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:397)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.delete(AbstractHibiscusDBObject.java:83)
  at de.willuhn.jameica.hbci.server.UmsatzImpl.delete(UmsatzImpl.java:552)
  at de.willuhn.jameica.hbci.gui.action.DBObjectDelete$Worker.run(DBObjectDelete.java:158)
  at de.willuhn.jameica.hbci.gui.action.DBObjectDelete.handleAction(DBObjectDelete.java:101)
  at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:183)
  at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:925)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:328)
  at de.willuhn.jameica.system.Application.init(Application.java:145)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
  at de.willuhn.jameica.Main.main(Main.java:75)
Caused by: org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
delete from UMSATZ where ID = 10031 [50200-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:508)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  at org.h2.message.DbException.get(DbException.java:194)
  at org.h2.command.Command.filterConcurrentUpdate(Command.java:333)
  at org.h2.command.Command.executeUpdate(Command.java:274)
  at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:169)
  at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:126)
  at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:372)
  ... 15 more
Caused by: org.h2.message.DbException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:10031 */ 10031, 24, NULL, NULL, NULL, 1.04, 'CRV*C-RUHW8C FROM CURVE', NULL, NULL, DATE '2019-08-28', DATE '2019-08-27', NULL, NULL, NULL, NULL, NULL, 2089991037, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:10031 */ 10031, 24, NULL, NULL, NULL, 1.04, 'CRV*C-RUHW8C FROM CURVE', NULL, NULL, DATE '2019-08-28', DATE '2019-08-27', NULL, NULL, NULL, NULL, NULL, 2089991037, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.get(DbException.java:205)
  at org.h2.message.DbException.get(DbException.java:181)
  at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
  at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:335)
  at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
  at org.h2.table.PageStoreTable.removeRow(PageStoreTable.java:277)
  at org.h2.command.dml.Delete.update(Delete.java:123)
  at org.h2.command.CommandContainer.update(CommandContainer.java:133)
  at org.h2.command.Command.executeUpdate(Command.java:267)
  ... 18 more
Caused by: org.h2.jdbc.JdbcSQLTransientException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:10031 */ 10031, 24, NULL, NULL, NULL, 1.04, 'CRV*C-RUHW8C FROM CURVE', NULL, NULL, DATE '2019-08-28', DATE '2019-08-27', NULL, NULL, NULL, NULL, NULL, 2089991037, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:10031 */ 10031, 24, NULL, NULL, NULL, 1.04, 'CRV*C-RUHW8C FROM CURVE', NULL, NULL, DATE '2019-08-28', DATE '2019-08-27', NULL, NULL, NULL, NULL, NULL, 2089991037, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:621)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  ... 27 more



Könnt ihr mir weiterhelfen?


Viele Grüße
Gito
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10128
Dabei seit: 03 / 2005
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 14:57 Uhr  ·  #2
Es sieht so aus, als sei die Datenbank-Tabelle mit den Umsaetzen gerade durch eine andere Transaktion gesperrt. Starte mal Hibiscus neu und versuche dann als allererstes - noch bevor du irgendwas anderes machst, die Umsaetze zu loeschen. Wenn das immer noch nicht geht, koenntest du vielleicht testhalber mal die anderen Plugins deinstallieren, danach jeweils Hibiscus neu starten und es danach nochmal verscuchen. Vielleicht blockiert ein anderes Plugin den Zugriff.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 15:27 Uhr  ·  #3
Danke für die Antwort.

Leider behob weder ein Neustart des Programms noch die Deinstallation aller Plugins (außer Hibiscus selber) das Problem.
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10128
Dabei seit: 03 / 2005
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 15:29 Uhr  ·  #4
Poste mal bitte die komplette Logdatei "jameica.log" als Datei-Anhang. Würde mir das gern mal näher anschauen.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 15:45 Uhr  ·  #5
Hier ist die Log-Datei. In der Datei wurden die Versuche erfasst, die Umsätze aber auch auch das gesamte Konto zu löschen. Alle Plugins außer Hibiscus sind deinstalliert.
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10128
Dabei seit: 03 / 2005
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 16:00 Uhr  ·  #6
Mhh, die Installation sieht ok aus. Scheint auch keine Berechtigungsprobleme zu geben. Erstelle am besten mal eine Sicherheitskopie von "/home/kai/.jameica". Klicke anschließend im Menü auf "Datei->Backups verwalten..." und stelle ein Backup von vor ein paar Tagen wieder her und versuche das Löschen dann nochmal. Irgendwie sieht mir das wie eine Inkonsistenz aus. Der Umsatz #10023 kann nicht gelöscht werden, weil er im Index nicht gefunden wird.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 16:13 Uhr  ·  #7
Auch im Backup von Anfang Mai kann ich die Umsätze nicht löschen.
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10128
Dabei seit: 03 / 2005
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 16:20 Uhr  ·  #8
Dann bleibt nur noch, das Konto zu deaktivieren und damit zu leben. Ich weiss keinen anderen Weg als über "Hibiscus->Erweitert->Datenbank-Backup erstellen/importieren", einen XML-Dump der Datenbank zu exportieren, danach auf einem neuen leeren Jameica-Benutzerordner zu starten, dort das Backup einspielen und danach die Bankzugänge neu einzurichten.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 08.09.2020 - 17:27 Uhr  ·  #9
Der Export und Import der XML-Datenbank hat das Problem behoben.

Ich wundere mich jetzt etwas darüber, dass auch nach der Einrichtung der Bankverbindungen und non-HBCI-Konten das Backup nur noch 4,7MiB im Vergleich zu vorher (7,3 MiB) beträgt. Das gelöschte Konto umfasste lediglich 4 Umsätze. Soweit ich das Erkennen kann, fehlen aber keine Datensätze.

Woher kann der "Gewichtsverlust" der Datenbank herrühren?
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10128
Dabei seit: 03 / 2005
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 09.09.2020 - 07:30 Uhr  ·  #10
Zitat geschrieben von Gito

Woher kann der "Gewichtsverlust" der Datenbank herrühren?

Fragmentierung. Eine Datenbank ist auch nicht viel anders als ein Dateisystem. Das Allokieren und Freigeben von Speicher passiert in Bloecken und nicht synchron zum Schreiben/Löschen.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 14
Dabei seit: 10 / 2019
Betreff:

Re: Fehler beim Löschen der Datensätze

 · 
Gepostet: 09.09.2020 - 14:24 Uhr  ·  #11
Alles klar.
Vielen Dank für die Erklärung und die Lösung beim Datensatzproblem!
Gewählte Zitate für Mehrfachzitierung:   0