Auslösen des Emergencymodus
Der Data-Manager erreicht den Emergencymodus auf eine der folgenden Arten:
-
Unterschreiten des verfügbaren Plattenplatzes
-
Unterschreiten des verfügbaren virtuellen Speichers
-
Durch Setzen des Datenpunktelementes _DataManager.DiskSpaceCheck.EmergencyStopWrite.Command auf TRUE
In allen drei Fällen wird das Datenpunktelement _DataManager.DiskSpaceCheck. EmergencyStopWrite.Status auf TRUE gesetzt, in den ersten beiden Fällen auch noch das DPE DiskFull bzw. LowMemory.
Diese Werte werden nur noch in das Prozessabbild, jedoch nicht mehr in das Letztwertarchiv übernommen, da der Data-Manager die Datenbank schließt, bevor er eine Antwort vom Event-Manager erhalten hat.
Erreichen des Emergencymodus:
-
Die Datenbank wird geschlossen
-
Der DataBG wird gestoppt, falls er läuft
-
Die Verbindung zu allen Managern wird geschlossen, die sich noch in der Initialisierung befinden.
-
Alle laufenden Abfragen werden mit einer entsprechenden Fehlermeldung abgebrochen.
-
In das Statusfile der Datenbank die Zeile "EMERGENCY" geschrieben. Damit wird ein Datenbankcheck beim Neustart verhindert.
-
Die entsprechenden DPE in _DataManager und _DiskSpaceCheck werden gesetzt.
Der Emergencymodus kann nur durch einen Neustart des Data-Managers verlassen werden. Das gilt auch, wenn der EM durch Benutzereingabe erreicht wurde! Sie können durch den config-Eintrag checkMemorybzw.checkDiskSpace eine Überprüfung verhindern.
In der Console wird der Emergencymodus durch ein entsprechendes Symbol signalisiert. Zusätzlich werden die Datenbank sowie DataBG gestoppt und Manager geschlossen (siehe Liste oberhalb).