Parametrierung des Backups
Normalerweise erfolgt die Parametrierung über das Panel zur Konfiguration . Die folgenden Information sind nur ergänzend und für Fortgeschrittene Benutzer gedacht. Für des Backup wurde (mit der Version 2.10.1.4 SP1) der Datenpunkttyp _DataManager um den Knoten "Backup" mit folgenden DPE erweitert:
Tabelle: Knoten Backup des DPT _DataManager
Datenpunktelement | Typ | Beispiel | Bedeutung | |
---|---|---|---|---|
Command | int | 1, -1 | Steuert das Backup | |
Status | int | -4 | Status des laufenden bzw. vergangenen Backups | |
Timeout | int | 300 | Maximale Zeit, die das Backup dauern darf. | |
MemoryKBLimit | int | 65 | Mindestgröße freien virtuellen Speichers | |
MaxBufferedMessages | int | 10000 | Max. Anzahl gepufferter Messages | |
Inputfile | struc | Daten für das Inputfile von WCCOAtoolMedia | ||
Command | string | "backup" | Kommando für WCCOAtoolMedia, immer "backup" | |
Device | string | "C:/tmp/backup" | Zielgerät / -verzeichnis | |
Type | string | "FILE" | Typ des Backupziels, etwa "FILE", "DAT", ... | |
Compression | bool | 0 | Wird derzeit ignoriert, immer auf 0 setzen | |
StartTime | time | Wählt die Archive aus, die gesichert werden sollen | ||
UnsavedValArchs | bool | 0,1 | Mit TRUE werden die nicht ausgelagerten Archivsätze gesichert | |
Outputfile | struc | Inhalt des Outputfiles von WCCOAtoolMedia | ||
MasterError | int | 0 | Enthält "0", wenn das Backup erfolgreich war oder einen Fehlercode | |
FileError | dyn_string | Enthält Files mit Fehlercode, bei denen ein Fehler aufgetreten ist |
Backup.Command
steuert das Backup. Zulässige Werte sind:
1 Startet ein Backup. Die DPE unterhalb von Backup.Inputfile müssen zu diesem Zeitpunkt schon die gültigen Werte enthalten. Es ist also zweckmäßig, zunächst diese Werte zu setzen und dann erst Backup.Command.
-1 Bricht ein laufendes Backup ab.
Backup.Status
gibt den Backupstatus wieder. Mögliche Werte sind:
0 BackupOK: Es läuft kein Backup, der letzte Backup war erfolgreich. Backup.Outputfile enthält das Ergebnis des letzten Backups.
1 BackupRunning: Ein Backup ist gerade aktiv, der Data-Manager befindet sich im Backupmodus
-1 BackupAbort: Ein Backup wurde durch Setzen von Backup.Command abgebrochen.
-2 BackupMQOverflow: Das letzte Backup wurde abgebrochen, da die maximale Puffergröße überschritten wurde.
-3 BackupTimeout: Das letzte Backup wurde wegen Zeitüberschreitung abgebrochen.
-4 BackupCored: WCCOAtoolMedia lieferte einen Exitcode ungleich 0, konnte also das Backup nicht ausführen bzw. das Outputfile konnte nicht geöffnet werden.
-5 BackupError: Das letzte Backup wurde beendet, es sind allerdings Fehler aufgetreten. Weitere Angaben stehen unter Backup.Outputfile.
-6 BackupMemExhausted: Das Backup wurde abgebrochen, da der verfügbare virtuelle Speicher das parametrierte Limit unterschritt.
Backup.Timeout
Gibt die maximale Zeit in Sekunden an, die das Backup benötigen darf. Wird diese Zeit überschritten, so wird das Backup mit dem Status "-3" abgebrochen. Ein Wert von <= 0 erlaubt beliebig lange Sicherungszeiten, das heißt, es findet keine Zeitüberwachung statt, der Benutzer ist selbst dafür verantwortlich.
Backup.MemoryKBLimit
Legt die Untergrenze des verfügbaren virtuellen Speichers fest. Standardmäßig ist sie mit dem Wert aus _MemoryCheck.EmergencyKBLimit plus 50MB festgesetzt. Das bedeutet zumindest 60MB, auch wenn für die Speicherüberwachung nichts eingestellt wurde. Der Wert, der hier angegeben wird, muss mindestens 50MB über dem Wert liegen, der für die Speicherüberwachung herangezogen wird. Damit soll verhindert werden, dass der Data-Manager während des Backups in den EM (Emergencymodus) fällt. Unterschreitet der verfügbare virtuelle Speicher diesen Wert, so wird das Backup mit dem Status "-6" abgebrochen.
Der verfügbare Plattenplatz wird während des Backups nicht überwacht! Stellen Sie vorher sicher, dass der Platz auf der Platte ausreicht. Legen Sie das Backup nicht auf derselben Platte an, auf der die Datenbank liegt!
Der Backupmodus überprüft den virt. Speichern Sie nicht, wenn Sie checkMemory = 0 in der Config-Datei setzen oder für das Element .MemoryKBLimit einen Wert < 0 im DP angeben.
Backup.MaxBufferedMessages
Legt schließlich die maximale Anzahl der gepufferten Messages fest. Da die meisten Messages recht kurz sind und im allgemeinen ausreichend virtueller Speicher zur Verfügung steht, könnten während des Backups sehr viele Messages anfallen. Diese blockieren den Data-Manager und das System auch nach dem Verlassen des BM (Backupmodus) noch erhebliche Zeit, daher kann über diesen DP die maximale Anzahl gepufferter Messages beschränkt werden. Wird die parametrierte Anzahl überschritten, so wird das Backup mit dem Status "-2" abgebrochen. Ein Wert <= 0 schaltet die Überwachung der Pufferlänge aus. Per default beträgt die maximale Anzahl 100.000 Messages.
Backup.Inputfile
Entspricht bis auf das DPE StartTime dem Aufbau des Inputfiles (siehe Eingabedatei) für WCCOAtoolMedia. Die DPE haben folgende Bedeutung:
Command
Gibt ein Kommando für WCCOAtoolMedia an. Von den möglichen Werten "backup", "restore", "rewind", "eject" etc. ist hier nur "backup" sinnvoll. Es erfolgt keine Überprüfung auf gültige Befehle, da ansonsten bei jeder Änderung von WCCOAtoolMedia auch der Data-Manager angepasst werden müsste.
Device
Gibt entweder das Gerät oder das Verzeichnis an, auf welches das Backup erfolgen soll. Mögliche Werte sind z.B. "C:/tmp/backup" für eine Sicherung auf Platte unter Windows oder "tape0" für eine Sicherung auf Bandlaufwerk. Im Data-Manager erfolgt keine Überprüfung, ob das Ziel auch existiert und beschreibbar ist. Diese Aufgabe übernimmt WCCOAtoolMedia.
Type
Gibt den Typ des Gerätes an. Mögliche Werte sind "FILE" für eine Sicherung auf Platte oder "DAT" für eine Sicherung auf Bandlaufwerk. Der Data-Manager überprüft die Werte nicht auf Gültigkeit.
Compression
Wird derzeit nicht verwendet und sollte immer auf "0" stehen.
StartTime
Entscheidet darüber, welche Files gesichert werden. Anhand dieser Zeit erzeugt der Data-Manager eine Dateiliste für WCCOAtoolMedia. Diese enthält immer alle Datenbankdateien aus dem WinCC OA DB Verzeichnis (*.dbd, *.db, *.key), die Verzeichnisse "alliving", "aloverflow", "empty" und "lastval" sowie alle Archive (Werte und Alarme), die Werte ab diesem Zeitpunkt enthalten. Die Zeit ist ein Zeitintervall, keine absolute Zeit. Der Data-Manager wählt also die Dateisätze aus, in denen Werte aus diesem Zeitintervall vor der aktuellen Zeit, also z.B. der letzten 4 Wochen, liegen.
UnsavedValArchs
Entscheidet darüber, ob nicht ausgelagerte Archivsätze gespeichert werden (TRUE) oder nicht (FALSE).
Während ein Backup läuft, überprüft der Data-Manager alle 60 Sekunden, ob das Backup beendet ist, oder abgebrochen werden muss und setzt entsprechend den Status-DP und die Outputfile-DP.
Abbruchbedingungen
Ein Timeout ist eingetreten.
Standardmäßig wird die Zeit nicht überwacht. Im DPE _DataManager.Backup.Timeout können Sie allerdings eine maximale Zeit in Sekunden angeben (wird im Panel parametriert).
Die maximale Puffergröße für Messages wurde überschritten.
Standardmäßig werden nur maximal 100.000 Messages gepuffert. Diesen Wert ändern Sie im DPE _DataManager.Backup.MaxBufferedMessages (wird im Panel angegeben). Es wird nur die Anzahl der Messages berücksichtigt, nicht deren Speicherverbrauch.
Der virtuelle Speicher ist erschöpft.
Während des Backups müssen immer 50MB mehr an virtuellen Speicher zur Verfügung stehen, als für den Eintritt in den Emergencymodus erforderlich. Damit wird verhindert, dass der Data-Manager während oder kurz nach dem Backup in den Emergencymodus fällt. Wenn weder beim DPE _MemoryCheck.EmergencyKBLimit noch beim DP _DataManager.Backup.MemoryKBLimit ein Wert angegeben wurde, gilt ein Minimum von 60MB.