Für den Administrator, Performance

Bereitschaftsmodus bei Datenbanken

Befindet sich kein angemeldeter Benutzer in einer CONZEPT 16 Datenbank, so wird diese im Normalfall geschlossen und der allokierte Speicher wieder freigegeben. In gewissen Situationen ist dieses Verhalten unerwünscht. In diesem Fall bietet CONZEPT 16 die Möglichkeit eine Schließverzögerung zu aktivieren. Im nachfolgenden Artikel möchte ich mich näher mit dieser Thematik befassen.



Durch die Angabe einer Schließverzögerung wird die Datenbank nicht unmittelbar, nachdem der letzte Anwender die Datenbank verlassen hat, geschlossen. Die Datenbank geht für die hier angegebene Dauer in einen Bereitschaftszustand. In diesem Zustand ist es nun möglich die Datenbank zu kopieren, allerdings kann diese nicht gelöscht werden. Befindet sich die Datenbank im Bereitschaftszustand, so bleibt der Pufferinhalt der Datenbank und der Datenbankprozess erhalten. Der Wert, welcher die Schließverzögerung angibt, kann zwischen 0 Minuten und 7 Tagen liegen.
Meldet sich der letzte Anwender aus der Datenbank ab, so wird die Schließverzögerung in die Protokolldatei der Datenbank geschrieben. In der Log-Datei der betroffenen Datenbank erscheint nun der Eintrag: Process term delay (xxh xxm). Anschließend wechselt die Datenbank in den “Nur-Lesen”-Modus, dies wird mit Database switched to read-only protokolliert.

Vorteil des Bereitschaftsmodus:

Ist die Schließverzögerung aktivert, so bleibt der Cache der Datenbank inklusive aller darin enthaltenen Daten bestehen. Meldet sich nun ein Anwender an dieser Datenbank an, so erfolgt die Anmeldung schneller als bei einer geschlossenen Datenbank und zusätzlich dazu stehen dem Benutzer sofort alle sich im Puffer befindlichen Daten zur Verfügung, was letztendlich zu einem Performancegewinn führt.

Verwendung des Bereitschaftsmodus:

Eine Verwendung der Schließverzögerung ist dann empfehlenswert, wenn permanent An- und Abmeldevorgänge auf der Datenbank erfolgen. Dies ist beispielsweise der Fall, wenn die Datenbank von einem SOA-Service oder über die PHP-Schnittstelle verwendet wird. Desweiteren kann der Bereitschaftsmodus eingesetzt werden, um Daten, welche sich im Puffer der Datenbank befinden über einen längeren Zeitraum zu erhalten. Beispielsweise um Daten über ein Wochenende aufzubewahren.
Wird allerdings der CONZEPT 16-Server beendet, so werden die Datenbanken, welche sich noch im Bereitschaftszustand befinden, vor dem Ende der Schließverzögerung geschlossen.
Soll die Datenbank, welche sich im Bereitschaftsmodus befindet, vor Ablauf der Schließverzögerung geschlossen werden, muss dies mit Hilfe des Script-Utility realisiert werden. Die passende Syntax hierfür lautet:

c16_serv_cmd_xxx close <Datenbank-Alias> [-wait=<Sekunden>]
                       [-passwd=<Passwort>] [-server=<Adresse>]
  • c16_serv_cmd_win.exe für Windows
  • c16_serv_cmd_l32 für Linux (32-Bit)
  • c16_serv_cmd_l64 für Linux (64-Bit)
Einrichten der Schließverzögerung:

Die Schließverzögerung wird über die Weboberfläche konfiguriert:

Hierzu wird über das CONZEPT 16 Control-Center die Datenbankadministration aufgerufen. Anschließend wird die gewünschte Datenbank ausgewählt und unter dem Punkt ‘Einstellungen’ bei ‘Schließverzögerung’ der gewünschte Wert eingetragen. Ist die Datenbank nun geöffnet und es befindet sich kein angemeldeter Benutzer mehr in dieser, erscheint diese Datenbank in der Datenbank-Auswahlliste mit dem Status ‘Bereitschaft’.

Die Datenbank befindet sich im Bereitschaftsmodus
2 Kommentare

2 Kommentare “Bereitschaftsmodus bei Datenbanken”

  1. @Th.Eichele
    um Ihnen eine konkrete Antwort liefern zu können, benötigen wir noch ein paar Informationen. Bitte setzen Sie sich diesbezüglich mit dem vectorsoft-Support in Verbindung.

  2. Wäre auch eine "Weckzeit" denkbar, so das die Datenbank z.B. 20 min. vor Beginn der normalen Arbeitszeit geöffnet wird, und die ersten, die sich anmelden nicht so lange warten müssen ?

Kommentar abgeben