Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

olaf123

Betreff:

Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 15.02.2016 - 10:27 Uhr  ·  #122801
Hallo!

Ich habe hier einen kleinen Server (Ubuntu 14.04) an dem mehrere User gleichzeitig aktiv sein können, jeder mit einer eigenen grafischen Sitzung (x2go, pxe, PC/Netbook u.ä. als ThinClients).

Wie und wo(hin) installiere ich den hibiscus-Server?
Für jedes Benutzerkonto (olaf, freundin, tochter, sohn, ..) installiere ich die Desktop-Version in /home/USER?
Wie verbindet man später hibiscus-Desktop und den hibiscus-Server? Oder verstehe ich da etwas falsch?

###

Zum testen habe ich das erstmal nicht auf dem Server, sondern auf einem eigenständigen Rechner installiert, der mit ähnlicher Installation als Testumgebung dient.
1. Hibiscus-Server erstmal in /home/olaf/Downloads/hibiscus-server entpackt, gestartet.
2. Ein Konto/hbci in der Management-Konsole eingerichtet
3. Jameica in /home/olaf/jameica entpackt und gestartet
4. Jameica gestartet, plugin "hibiscus.." über das Menü / Web installiert
5. Jameica neu gestartet

Zitat

hibiscus (Hibiscus-Datenbank konnte nicht initialisiert werden.
connection to database.jdbc:h2:/home/olaf/.jameica/hibiscus;CIPHER=XTEA failed; nested org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: "Locked by another Database may be already in use: "Locked by nother process". Possible solutions: close all other connec"

(Im letzten Satz bricht die Anzeige ab)

Wo liegt mein Fehler? Ggf.muss der hibiscus-Server unter einem anderen Benutzer gestartet werden?

Gruß + Danke,
Olaf

hibiscus

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 15.02.2016 - 16:49 Uhr  ·  #122812
Die Fehlermeldung kommt, wenn bereits eine Instanz laeuft, die auf das selbe Benutzerverzeichnis zeigt.

Du brauchst den Hibiscus-Server nur dann, wenn due automatisiert durch den Server Umsaetze abrufen lassen willst. Wenn es dir nur darum geht, dass alle Daten in einer gemeinsamen Datenbasis landen und alle gemeinsam Zugriff auf die Konten haben, dann reicht eine MySQL-Datenbank aus. Die passende Anleitung findest du hier: http://www.willuhn.de/wiki/doku.php?id=support:mysql

Also lass den Hibiscus-Server weg. Ich denke, im ersten Schritt brauchst du den noch nicht. Und selbst wenn du anschliessend doch noch die Umsaetze automatisch abrufen lassen willst, kannst du den Server allemal noch installieren und ebenfalls fuer die MySQL-Datenbank konfigurieren. Zum Verstaendnis: Der Hibiscus Payment-Server dient NICHT dazu, dass sich dort Hibiscus-Clients anmelden und ihre Daten von dort beziehen. Stattdessen ist er lediglich eine Hibiscus-Version ohne Benutzeroberflaeche. Dafuer aber mit Webfrontend und Scheduler zur Automatisierung. Siehe auch die Schema-Zeichnung unter http://www.willuhn.de/products/hibiscus-server/

Ausserdem musst du die normale Desktop-Version nicht pro User auf dem Rechner installieren. Einmal zentral (z.Bsp. in /opt/jameica) genuegt. Die Benutzer-Daten werden ja nicht im Programmverzeichnis gespeichert sondern getrennt davon im Benutzerordner unter ~/.jameica. Daher koennen auch mehrere User gleichzeitig das selbe Programmverzeichnis nutzen. Lediglich die gleichzeitige Nutzung des Benutzerordners geht nicht. Siehe http://www.willuhn.de/wiki/dok…erzeichnis

olaf123

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 16.02.2016 - 08:40 Uhr  ·  #122820
Vielen Dank für Deine Antwort. Ich hatte schon so eine Vermutung, dass ich "Server" hier falsch gedeutet habe.

Die Lösung mit mysql und einem gemeinsamen Programmverzeichnis klingt gut.
Bedenken habe ich jedoch bei

Zitat

... Die gemeinsame Datennutzung umfasst nur die Konten und Umsätze, das Adressbuch und die Aufträge...

http://www.willuhn.de/wiki/doku.php?id=support:mysql

Bedeutet das im Umkehrschluss, das _alle_ User auch _auf_jeden_Fall_ lesenden Zugriff haben, ohne dass ich eine Ausnahme generieren kann?
Mein Beispiel zuhause: die Kinder könnten dann den Kontostand auch des elterlichenn Girokontes sehen?

Gruß,
Olaf

Um als Beispiel bei meiner Installation zuhause zu bleiben:
Alle sollen
Ich möchte nicht, dass die Kinder den Kontostand usw. des elterlichen Girokontos sehen.


Wenn ich die Installation mit mysql umsetze, hat jeder User zumindest lesenden Zugriff auf jedes Konto, ohne dass ich eine Ausnahme realisieren kann?

hibiscus

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 16.02.2016 - 08:54 Uhr  ·  #122821
Zitat geschrieben von olaf123

Bedeutet das im Umkehrschluss, das _alle_ User auch _auf_jeden_Fall_ lesenden Zugriff haben, ohne dass ich eine Ausnahme generieren kann?
Mein Beispiel zuhause: die Kinder könnten dann den Kontostand auch des elterlichenn Girokontes sehen?


Ja. Es gibt keine Benutzerverwaltung, in der man pro User festlegen kann, wer was sehen darf. Wenn du das trennen willst, muesstest du mehrere Datenbanken anlegen. Allerdings gibt es dann auch wieder keine Moeglichkeit, mehrere Datenbanken innerhalb einer Installation zu sehen. Du muesstest hier also auch auf dem Client beim Start das zu verwendende Benutzerverzeichnis auswaehlen, um zwischen zwei Datenbanken zu wechseln.

olaf123

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 16.02.2016 - 09:15 Uhr  ·  #122824
Ok, vielen Dank für die Erläuterungen.

olaf123

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 23.02.2016 - 12:29 Uhr  ·  #122988
Hallo!

Ich habe jetzt einiges getestet, Daten importiert usw., alles auf mysql, läuft.
Da die Abfrage der Kontodaten aber sehr, sehr langsam ist (mehrere Minuten für ca. 7 Konten, verteilt auf zwei Institute), möchte ich das gerne über den Server realisieren. Da habe ich aber offenbar weiterhin ein Verständnisproblem:

- Start von /opt/hibiscus-server/jameicaserver.sh über den User "olaf2"
- Start von /opt/jameica/jameica.sh über den User "olaf" (meinen eigentlichen Account)
- https://localhost:8080/hibiscus/ -> Keine Daten drin

Da ich zuvor unter https://localhost:8080/hibiscus/ meine Konten eingetragen habe, hatte ich erwartet, diese nun auch unter dem anderen Nutzernamen zu sehen. Klar, auch der Gedanke passte nicht so ganz, aber so wie es jetzt ist, verstehe ich es auch nicht.

Gruß,
Olaf

hibiscus

Betreff:

Re: Datenbank kann nicht initialisiert werden (... Locked by nother process ....)

 ·  Gepostet: 23.02.2016 - 12:36 Uhr  ·  #122989
Ich weiss ja nicht, wie du die beiden Instanzen jeweils konfiguriert hast. Aber wenn beide so konfiguriert sind, dass sie auf die selbe MySQL-Datenbank zeigen, dann siehst du in beiden Installationen die selben Daten.