korrekter Restore - defekte Buchungen
Verfasst: Sonntag 29. April 2018, 16:53
Stichwortliste für die Suche: Backup, Restore, java.rmi.RemoteException: unable to init iterator. statement:, File corrupted while reading record,
Hallo zusammen,
mein Datenbanstand ist defekt. Wenn ich im linken Baum das Element
* Start -> JVerein -> Buchführung -> Buchungen
aufrufe, erhalte ich
Ich würde gern mein Backup zusammenpuzzeln. Der aktuelle
* Datenbestand mit korrekten Buchungen ist 2017-12-20, der aktuelle
* Datenbestand der Mitgliedsdatenbank und Zusatzbeträgen ist 2018-04-28
Gibt es die Chance, dass ich beim Restore die Mitgliedsdatenbank von heute behalte und die Buchungen aus dem letzten Backup einspiele?
Welche Werkzeuge (Linux Debian) erlauben mir auf der h2db SQL-Statements abzusetzen um den defekten Datenteil zu erkennen und zu überschreiben?
Danke und Gruß
Hallo zusammen,
mein Datenbanstand ist defekt. Wenn ich im linken Baum das Element
* Start -> JVerein -> Buchführung -> Buchungen
aufrufe, erhalte ich
Code: Alles auswählen
java.rmi.RemoteException: unable to init iterator. statement: prep144: select BUCHUNG.* from BUCHUNG where datum >= ? and datum <= ? and konto = ? and buchungsart = ? ORDER BY umsatzid DESC {1: TIMESTAMP '2016-01-01 00:00:00.0', 2: TIMESTAMP '2016-12-31 00:00:00.0', 3: '1', 4: '1'}; nested exception is:
org.h2.jdbc.JdbcSQLException: Datei fehlerhaft beim Lesen des Datensatzes: "[542] stream data key:1211 pos:11 remaining:0". Mögliche Lösung: Recovery Werkzeug verwenden
File corrupted while reading record: "[542] stream data key:1211 pos:11 remaining:0". Possible solution: use the recovery tool; SQL statement:
select BUCHUNG.* from BUCHUNG where datum >= ? and datum <= ? and konto = ? and buchungsart = ? ORDER BY umsatzid DESC [90030-172]
at de.willuhn.datasource.db.DBIteratorImpl.init(DBIteratorImpl.java:230)
at de.willuhn.datasource.db.DBIteratorImpl.hasNext(DBIteratorImpl.java:245)
at de.willuhn.datasource.pseudo.PseudoIterator.asList(PseudoIterator.java:68)
at de.jost_net.JVerein.Queries.BuchungQuery.get(BuchungQuery.java:245)
at de.jost_net.JVerein.gui.control.BuchungsControl.getBuchungsList(BuchungsControl.java:936)
at de.jost_net.JVerein.gui.view.BuchungslisteView.bind(BuchungslisteView.java:89)
at de.willuhn.jameica.gui.GUI$5.run(GUI.java:699)
at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:896)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
at de.willuhn.jameica.gui.GUI.startSync(GUI.java:892)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:590)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:525)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:562)
at de.jost_net.JVerein.gui.action.BuchungsListeAction.handleAction(BuchungsListeAction.java:28)
at de.willuhn.jameica.gui.Navigation.start(Navigation.java:385)
at de.willuhn.jameica.gui.Navigation.access$500(Navigation.java:52)
at de.willuhn.jameica.gui.Navigation$MyActionListener.handleEvent(Navigation.java:480)
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:913)
at de.willuhn.jameica.gui.GUI.init(GUI.java:324)
at de.willuhn.jameica.system.Application.init(Application.java:148)
at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Datei fehlerhaft beim Lesen des Datensatzes: "[542] stream data key:1211 pos:11 remaining:0". Mögliche Lösung: Recovery Werkzeug verwenden
File corrupted while reading record: "[542] stream data key:1211 pos:11 remaining:0". Possible solution: use the recovery tool; SQL statement:
select BUCHUNG.* from BUCHUNG where datum >= ? and datum <= ? and konto = ? and buchungsart = ? ORDER BY umsatzid DESC [90030-172]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:239)
at org.h2.index.PageDataNode.getRowWithKey(PageDataNode.java:278)
at org.h2.index.PageDataIndex.getRowWithKey(PageDataIndex.java:421)
at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:410)
at org.h2.table.RegularTable.getRow(RegularTable.java:111)
at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:305)
at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:46)
at org.h2.index.IndexCursor.get(IndexCursor.java:224)
at org.h2.table.TableFilter.getValue(TableFilter.java:892)
at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:183)
at org.h2.expression.Comparison.getValue(Comparison.java:209)
at org.h2.expression.ConditionAndOr.getValue(ConditionAndOr.java:87)
at org.h2.expression.Expression.getBooleanValue(Expression.java:180)
at org.h2.command.dml.Select.queryFlat(Select.java:520)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:625)
at org.h2.command.dml.Query.query(Query.java:314)
at org.h2.command.dml.Query.query(Query.java:284)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:91)
at org.h2.command.Command.executeQuery(Command.java:195)
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:106)
at de.willuhn.datasource.db.DBIteratorImpl.init(DBIteratorImpl.java:217)
... 28 more
* Datenbestand mit korrekten Buchungen ist 2017-12-20, der aktuelle
* Datenbestand der Mitgliedsdatenbank und Zusatzbeträgen ist 2018-04-28
Gibt es die Chance, dass ich beim Restore die Mitgliedsdatenbank von heute behalte und die Buchungen aus dem letzten Backup einspiele?
Welche Werkzeuge (Linux Debian) erlauben mir auf der h2db SQL-Statements abzusetzen um den defekten Datenteil zu erkennen und zu überschreiben?
Danke und Gruß