Zum Inhalt springen

Search

Datenbankserver Fehlermeldung: database is locked

“Database is locked” bedeutet, dass die Datenbank von einem Nutzer (z.B. Lodgit Desk oder cubeSQL) blockiert wird. Dieses Sperren dient dazu, Datenverlust zu vermeiden und wird in den meisten Fällen automatisch wieder aufgehoben, sobald der Nutzer mit der jeweiligen Aktion fertig ist; meist dauert dies nur wenige Sekunden.

Die nachfolgend genannten Nutzungen können dazu führen, dass die Datenbank den Fehler “Database is locked” bzw. “Database malfored” anzeigt. Diese Fehler sind ein Indikator dafür, dass die Datenbank beschädigt ist, was zu Datenverlust führt.

 ACHTUNG: Dieser Fehler kann auch auftreten, wenn …

  • … gleichzeitig eine Instanz von Lodgit Desk über den Datenbankserver CubeSQL mit der Datenbankdatei verbunden ist und eine weitere Instanz von Lodgit Desk direkt auf die gleiche Datenbankdatei zugreift.
  • … gleichzeitig mindestens zwei verschiedene CubeSQLDatenbankserver auf die gleiche Datenbankdatei zugreifen.
  • … gleichzeitig mindestens zwei verschiedene Instanzen von Lodgit Desk direkt, ohne CubeSQL, auf die gleiche Datenbankdatei zugreifen.
  • … gleichzeitig oder zusätzlich zu Lodgit Desk ein anderes Programm auf die gleiche Datenbankdatei zugreift.
  • … gerade ein Virenscanner die Datenbankdatei scannt
  • … unter Umständen eine Schadsoftware die Datenbankdatei beschädigt

Die oben genannten Beispiele können auch dazu führen, dass die Datenbank Malformed, d.h. beschädigt wird.

Unter Umständen kann es dazu kommen, dass die Datenbank nicht automatisch wieder freigegeben wird, auch wenn die Aktion bereits fertig ist. In diesem Fall erhalten Sie die Fehlermeldung “Database Locked”. Diesen Fehler können Sie dann wie folgt auflösen:

Schritt 1: Beenden Sie auf allen Computern das Programm Lodgit Desk.

Achten Sie darauf, dass keine weiteren Programme auf die Datenbanken zugreifen.
Öffnen Sie das Tool cubeSQLAdmin und prüfen Sie unter “Clients”, ob noch Zugriff auf die Datenbanken besteht.

faq db lock 01 bestehender Zugriff 1
faq db lock 02 kein Zugriff 2

Sobald auf die Datenbank nicht mehr zugegriffen wird (unteres Bild), öffnen Sie Lodgit Desk erneut. In den meisten Fällen wird das Problem dadurch bereits behoben.
Besteht das Problem weiterhin, gehen Sie zu Schritt 2.


Schritt 2: Beenden Sie den Fremdzugriff auf die Datenbanken.

Öffnen Sie das Tool cubeSQLAdmin und prüfen Sie unter “Databases”, ob die Datenbank von einem anderen Nutzer gesperrt ist. Dies kann u.a. durch Virenscanner oder Backuptools geschehen.

faq db lock 03 locked owner 1

Für die Backups der Datenbank sollten Sie immer die Funktion des cubeSQL-Servers nutzen. Diese finden Sie über den Punkt “Schedules” im cubeSQLAdmin (mehr Informationen darüber in unserer Schritt-für-Schritt-Anleitung).

Es ist möglich, dass der cubeSQL-Server beim Erstellen des Backups zur Sicherheit die Datenbanken für diesen Vorgang sperrt. Tritt der Fehler zu einem Zeitpunkt auf, an dem Sie üblicherweise ein Backup machen, warten Sie bitte ein paar Minuten ab und überprüfen Sie dann den Status der Datenbank erneut.

faq db lock 04 lock lockowner 2

Können Sie Ihr Lodgit Desk weiterhin nicht öffnen, gehen Sie zu Schritt 3.

Schritt 3: Manuelles Entsperren der Datenbanken

Sie können die Datenbank auch manuell mit dem cubeSQLAdmin-Tool entsperren. Achten Sie zunächst darauf, dass Lodgit Desk auf allen Computern beendet wurde:

faq db lock 02 kein Zugriff 2

Gehen Sie dann zu “Console” und führen Sie nacheinander die SQL-Befehle “UNLOCK database ‘Lodgit Database.lxdb'” und “UNLOCK database ‘Lodgit Test Database.lxdb'” aus. Achten Sie dabei explizit auf Groß- und Kleinschreibung!

faq db lock 06 unLock Work DB 2
faq db lock 07 unlock Test DB 2

Öffnen Sie anschließend Lodgit Desk. Besteht das Problem weiterhin, gehen Sie zu Schritt 4.

Schritt 4: Neustart des cubeSQL-Servers

Achten Sie wie in Schritt 3 darauf, dass Lodgit Desk auf allen Computern beendet wurde und kein Zugriff auf die Datenbanken besteht:

faq db lock 02 kein Zugriff 2

Anschließend können Sie das cubeSQLAdmin-Tool schließen und den Serverdienst neu starten. Auf einem Windowssystem erfolgt dies in der Systemsteuerung unter “System und Sicherheit > Verwaltung > Dienste”

faq db lock 09 win Dienst
faq db lock 10 win Dienst Stop
faq db lock 11 win Start Dienst

Auf einem Mac-System erfolgt dies in den Systemeinstellungen unter “Sonstiges > cubeSQL”

faq db lock 12 cube SQL Start
faq db lock13 cubeSQL Stop

Können Sie Ihr Lodgit Desk weiterhin nicht öffnen, gehen Sie zu Schritt 5.

Schritt 5: Neustart der Rechner

Sollte keine der vorangegangenen Schritte zum Erfolg geführt haben, führen Sie einen Neustart aller Rechner aus, auf denen Lodgit Desk und/oder der cubeSQL-Server installiert ist.