Fehler beim Initialisieren der Datenbank

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Benutzeravatar
DIG
Beiträge: 478
Registriert: Freitag 11. Januar 2013, 00:02
Verein: Deutsch-Isländische Gesellschaft e.V.
Mitglieder: 250
JVerein-Version: aktuellste
Betriebssystem: Win
Wohnort: Krefeld

Fehler beim Initialisieren der Datenbank - Lösung mit manuellem Datenbankupgrade

Beitrag von DIG »

Mein Ausgangssituation war die:
  • Update auf Jameica>=2.8.2
  • JVerein-H2-Datenbank dabei so in Mitleidenschaft gezogen dass sie sich mit h2-1.4.197 nicht öffnen lies
  • daher H2-Downgrade auf 1.4.196
Mit dieser Konfiguration habe ich nun monatelang gearbeitet und zweimal einen Datenbankfehler gehabt, der eine Rücksicherung erforderlich machte.

Nach den Beiträgen hier und einigen Versuchen meinerseits dazu habe ich nun folgendes gemacht:
  1. zuerst natürlich mein Datenverzeichnis gesichert und dann den Ordner C:/jameica-daten/jverein/h2db in C:/jameica-daten/jverein/h2db.bak umbenannt
  2. Die JVerein-Datenbank mit h2-1.4.196 als Script gesichert
    java -cp h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:/jameica-daten/jverein/h2db.bak/jverein -user jverein -password jverein -script C:/temp/out.sql
  3. Den Ordner C:/jameica-daten/jverein/h2db neu anlegen
  4. Die JVerein-Datenbank aus dem generierten Script neu erzeugt, ebenfalls wieder mit h2-1.4.196
    java -cp h2-1.4.196.jar org.h2.tools.RunScript -url jdbc:h2:C:/jameica-daten/jverein/h2db/jverein -user jverein -password jverein -script C:/temp/out.sql
  5. Wenn alles läuft kann dann der Ordner C:/jameica-daten/jverein/h2db.bak gelöscht werden
Anschließend habe ich in meiner aktuellen Jameica-Installation die H2-Bibliothek wieder in h2-1.4.197 ändern können:
Jameica+Hibiscus+JVerein laufen einwandfrei, keine Auffälligkeiten oder gar Fehler habe ich seit dem gehabt und das trotz intensiver Nutzung mit Abrechnungslauf, Spendenquittungserstellung usw.

Für mich ist das die grundlegende Lösung des Datenbank-Problems: ich habe so eine fehlerfreie Datenbankdatei bekommen und werde wieder neue Jameica- und/oder H2-Versionen problemlos installieren können.
Zuletzt geändert von DIG am Mittwoch 3. April 2019, 11:30, insgesamt 1-mal geändert.
Viele Grüße,
Carsten
ManuelR
Beiträge: 17
Registriert: Mittwoch 29. August 2018, 15:49
Betriebssystem: Debian

Re: Fehler beim Initialisieren der Datenbank

Beitrag von ManuelR »

Mit einem Einspielen des Backups war das Problem behoben. Allerdings habe ich dadurch recht viele Datensätze verloren.. Gibt es eine Möglichkeit diese aus einem "kaputten Backup" auszulesen?
Benutzeravatar
DIG
Beiträge: 478
Registriert: Freitag 11. Januar 2013, 00:02
Verein: Deutsch-Isländische Gesellschaft e.V.
Mitglieder: 250
JVerein-Version: aktuellste
Betriebssystem: Win
Wohnort: Krefeld

Re: Fehler beim Initialisieren der Datenbank

Beitrag von DIG »

ManuelR hat geschrieben: Dienstag 26. Februar 2019, 12:35 Mit einem Einspielen des Backups war das Problem behoben. Allerdings habe ich dadurch recht viele Datensätze verloren.. Gibt es eine Möglichkeit diese aus einem "kaputten Backup" auszulesen?
Hallo Manuel,

hast Du das schon probiert?

Code: Alles auswählen

java -cp /pfad/zu/jameica/lib/h2/h2-*.jar org.h2.tools.Recover -url jdbc:h2:/pfad/zur/defekten/jverein/h2db/jverein -user jverein -password jverein
Viele Grüße,
Carsten
ManuelR
Beiträge: 17
Registriert: Mittwoch 29. August 2018, 15:49
Betriebssystem: Debian

Re: Fehler beim Initialisieren der Datenbank

Beitrag von ManuelR »

Ich hatte mich, kurz bevor ich diesen Post gelesen habe, dazu entschieden alles noch mal händisch einzugeben...

Das nächste mal teste ich das.
vseibt
Beiträge: 2
Registriert: Donnerstag 10. Januar 2019, 07:58
Betriebssystem: Linux (Ubuntu 16.04)

Re: Fehler beim Initialisieren der Datenbank - Lösung mit manuellem Datenbankupgrade

Beitrag von vseibt »

Der Vorschlag von
DIG hat geschrieben: Dienstag 26. Februar 2019, 00:28Lösusng mit manuellem Datenbankupgrade
scheint mir die beste Lösung. Danach läuft bisher alles ohne Probleme.
HJB
Beiträge: 2
Registriert: Donnerstag 4. April 2019, 19:01
JVerein-Version: 2.8.17
Betriebssystem: Windows 10

Re: Fehler beim Initialisieren der Datenbank

Beitrag von HJB »

Hallo,
ich verfolge seit einiger Zeit diesen Fehler-Chat und der Downgrade auf h2-1.4.196 hat mir schon geholfen, unseren jährlichen Beitragseinzugslauf erfolgreich durchzuführen. Allerdings war jetzt der Abrechnungslauf für einen Nachzügler erneut fehlerhaft, sodass ich gerne die Lösung mit dem manuellen Datenbankupgrade ausprobieren würde. Bis jetzt ist mir das nicht gelungen, da org.h2.tools.*-Objekte offenbar nicht auf meinem Rechner vorhanden sind. ich bin noch Frischling in Sachen H2-Datenbank, etc., deshalb hier meine Frage, was ich - neben Java - installieren muss, damit ich dieses manuelle Datenbankupgrade ausführen kann ?
Im voraus schon mal vielen Dank für die Unterstützung !

Viele Grüße
Hans-Jürgen
Benutzeravatar
DIG
Beiträge: 478
Registriert: Freitag 11. Januar 2013, 00:02
Verein: Deutsch-Isländische Gesellschaft e.V.
Mitglieder: 250
JVerein-Version: aktuellste
Betriebssystem: Win
Wohnort: Krefeld

Re: Fehler beim Initialisieren der Datenbank

Beitrag von DIG »

HJB hat geschrieben: Dienstag 9. April 2019, 16:57 meine Frage, was ich - neben Java - installieren muss, damit ich dieses manuelle Datenbankupgrade ausführen kann ?
Du brauchst nur java und Jameica (+JVerein).
Dein Problem dürfte wahrscheinlich sein dass die h2-Bibliothek nicht gefunden wurde weil sie nicht in den von java durchsuchten Ordnern liegt.

Entweder wechselst Du ins h2-Verzeichnis und führst dann java aus, z.B.

Code: Alles auswählen

cd C:\jameica\lib\h2
java -cp h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:/jameica-daten/jverein/h2db.bak/jverein -user jverein -password jverein -script C:/temp/out.sql
oder Du gibst dem java-Aufruf den vollen Pfad zur h2-Bibliothek mit, z.B.

Code: Alles auswählen

java -cp C:/jameica/lib/h2/h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:/jameica-daten/jverein/h2db.bak/jverein -user jverein -password jverein -script C:/temp/out.sql
Viele Grüße,
Carsten
Benutzeravatar
hibiscus
Beiträge: 142
Registriert: Donnerstag 31. Mai 2018, 08:55

Re: Fehler beim Initialisieren der Datenbank

Beitrag von hibiscus »

Hat eigentlich mal jemand das aktuelle Nightly-Build von Jameica ausprobiert? Es gibt nämlich inzwischen eine neue H2-Version 1.4-199, die auch im aktuellen Nightly-Build enthalten ist. Eventuell ist damit der manuelle Migrationsprozess oder das Downgrade auf 1.4-196 ja gar nicht mehr nötig.
HJB
Beiträge: 2
Registriert: Donnerstag 4. April 2019, 19:01
JVerein-Version: 2.8.17
Betriebssystem: Windows 10

Re: Fehler beim Initialisieren der Datenbank

Beitrag von HJB »

DIG hat geschrieben: Dienstag 9. April 2019, 20:05
HJB hat geschrieben: Dienstag 9. April 2019, 16:57 meine Frage, was ich - neben Java - installieren muss, damit ich dieses manuelle Datenbankupgrade ausführen kann ?
Du brauchst nur java und Jameica (+JVerein).
Dein Problem dürfte wahrscheinlich sein dass die h2-Bibliothek nicht gefunden wurde weil sie nicht in den von java durchsuchten Ordnern liegt.

Entweder wechselst Du ins h2-Verzeichnis und führst dann java aus, z.B.

Code: Alles auswählen

cd C:\jameica\lib\h2
java -cp h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:/jameica-daten/jverein/h2db.bak/jverein -user jverein -password jverein -script C:/temp/out.sql
oder Du gibst dem java-Aufruf den vollen Pfad zur h2-Bibliothek mit, z.B.

Code: Alles auswählen

java -cp C:/jameica/lib/h2/h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:/jameica-daten/jverein/h2db.bak/jverein -user jverein -password jverein -script C:/temp/out.sql
Geschafft !
Nach dem Ersetzen eines Teils der Slashes durch Backslashes hat die Transformation der H2-Datenbank geklappt. Allerdings hatte ich dann noch etliche Fehlversuche beim Versuch, einen Nachzügler abzurechnen. Erst nachdem ich sowohl "jameica" als auch "hibiscus" auf die Version 2.9.0-nightly build upgedatet hatte, war der Abrechnungslauf erfolgreich gelaufen.
Nochmals vielen Dank für die Hilfe !

Viele Grüße
Hans-Jürgen
tectumopticum
Beiträge: 42
Registriert: Donnerstag 12. November 2009, 23:39
Verein: Heimatverein Bockhorst e.V.
Förderverein Kirchenmusik in Bockhorst e.V.
Mitglieder: 440
JVerein-Version: meistens eine Developer-Vers.
Betriebssystem: Ubuntu 18.04.2 LTS

Re: Fehler beim Initialisieren der Datenbank

Beitrag von tectumopticum »

Moinsen,
hibiscus hat geschrieben: Mittwoch 10. April 2019, 09:54 Hat eigentlich mal jemand das aktuelle Nightly-Build von Jameica ausprobiert? Es gibt nämlich inzwischen eine neue H2-Version 1.4-199, die auch im aktuellen Nightly-Build enthalten ist. Eventuell ist damit der manuelle Migrationsprozess oder das Downgrade auf 1.4-196 ja gar nicht mehr nötig.
leider nicht erfolgreich - auch beim Start der nightly-Version kommt anschließend ein Fehler (log-Auszug s.u.): "jverein (Fehler beim Initialisieren der Datenbank).

[Tue Apr 23 18:36:28 CEST 2019][ERROR][main][de.jost_net.JVerein.Einstellungen.<clinit>] Fehler
java.rmi.RemoteException: error while getting database service; nested exception is:
de.willuhn.util.ApplicationException: Der Service "database" wurde nicht gefunden
at de.jost_net.JVerein.Einstellungen.getDBService(Einstellungen.java:173)
at de.jost_net.JVerein.Einstellungen.<clinit>(Einstellungen.java:100)
at de.jost_net.JVerein.gui.boxes.MitgliedNextBGruppeChecker.<init>(MitgliedNextBGruppeChecker.java:58)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

[...]
Antworten