Archive auslagern/sichern

VORSICHT:

Voraussetzung für alle Archivmanipulationen ist, dass das Skript archiv_client.ctl läuft.

Beachten Sie, dass beide Projekt-Verzeichnisse: das Verzeichnis aus dem ausgelagert wird sowie in das ausgelagert wird, freigegeben werden müssen und der Name für die Freigabe gleich wie der Name des Projektes sein muss.

Um Archive z.B. auf Bänder auszulagern, müssen Sie folgendes tun:

  1. Legen Sie den Control-Manager in Ihrem Projekt an.

  2. Starten Sie diesen mit der Option archiv_client.ctl, (falls es nicht bereits läuft).

  3. Im Panel Archivauswahl klicken Sie auf Aktionen. Es öffnet sich das Panel Historiendatenbank Aktion.

VORSICHT: Wenn Windows Server-Betriebssystem verwendet wird und Backups zu einem abgesetzten Computer durchgeführt werden, muss der abgesetzte Computer in der gleichen Domäne wie der WinCC OA-Rechner, der das Backup durchführt, liegen.
VORSICHT:

Beachten Sie, dass Archivsätze die nicht gesichert wurden automatisch gelöscht werden wenn die Platte voll ist. Um dieses zu verhindern, müssen Sie den Config-Eintrag deleteNotArchivedFileSets auf FALSE setzen. Wenn der Wert des deleteNotArchivedFileSets-Eintrags FALSE ist, werden die Archivsätze nicht bevor die gesichert wurden, gelöscht. Siehe Config-Eintrag deleteNotArchivedFileSets.

Bei neu angelegten Projekten wird automatisch der CTRL-Manager mit der Option -f pvss_scripts.lst angelegt. Diese Liste enthält das Script archiv_client.ctl, das für eine Sicherung der Daten erforderlich ist. Die Option -f ermöglicht das Starten mehrerer CTRL-Skripts (siehe Control-Library).

compressValueArchive

Um zu verhindern, dass der Platz bei der Komprimierung unter Windows für die tatsächliche Datenarchivierung zu gering wird, werden nur abgeschlossene Archivsätze komprimiert. Abgeschlossene Datensätze weisen (unter Windows) das entsprechende Komprimierungsflag im Dateisystem auf.

Mit diesem Config-Eintrag im Abschnitt [general] kann diese Komprimierung eingeschaltet (=1) oder ausgeschaltet (=0, Default) werden. Die Komprimierung mit dieser Dateisystem-Funktion kann bei größeren Dateien lange Zeit in Anspruch nehmen.

[general]
compressValueArchive = 0

WinCC OA kann eine Komprimierung von abgeschlossenen Archivsätzen anstoßen (siehe History DB - Komprimierung der Archive). Die Komprimierung über die Dateisystem-Funktion unter Windows kann durch Setzen des Config-Eintrags genutzt werden. Die Windows-Komprimierung wird jedoch erst nach erfolgter automatischer Archivsatz-Komprimierung durchgeführt.

VORSICHT: Verwenden Sie ausschließlich die History DB-Komprimierung! Die Windows-Komprimierung soll nicht mehr verwendet werden.
Abbildung 1. Das Panel "Historiendatenbank Aktion"

Bei redundanten Systemen ist in diesem Panel auch eine Registerkarte Host 2 zu sehen, die völlig ident zur Registerkarte Host 1 ist und jede Aktion gilt für beide Hosts. Bei manueller Sicherung auf z.B. HD werden beide Hosts gesichert. Dies wird auch in der Infozeile angezeigt.

Anmerkung:

Sie müssen bei Redundanz dafür sorgen, dass die beiden Rechner dieselbe Zeit haben. Das gilt auch ohne Redundanz, wenn mehrere Rechner verwendet werden (z.B. bei abgesetzten UIs). Grund: der fileSwitchRoundOff-Parameter (Archiv-Parameter) kann die Wahrscheinlichkeit, dass es aufgrund unterschiedlicher Uhrzeiten auch zu unterschiedlichen Archivsatznamen kommt, vermindern, aber nicht auf 0 setzen.

Anmerkung: Die Archivsatznamen beinhalten immer die Uhrzeit im UTC (= GMT) Zeitformat!
  • Die oberste Leiste zeigt Quell- und Zielpfad der Auslagerung an.

  • Das Feld links enthält die aktuellen Archivsätze (OK aktuelle bzw. abgeschlossene Archivsätze, AR ausgelagerte Archivsätze, die noch auf der Festplatte existieren - nach Archivsatzwechsel, OK-C1 komprimierter Archivsatz in Stufe 1 bzw. OK-C2 komprimierter Archivsatz in Stufe 2).

  • In das rechte Feld werden die ausgelagerten Archivsätze eingetragen, nach Anklicken von DIR. Beim Auslagern erfolgt ein Meldung in der Statuszeile ("Warte auf DB Freigabe" und "Files werden geschrieben").

  • Bei HD Speicherung gibt es darunter eine Anzeige des freien Speichers der Festplatte auf die ausgelagert wird.

  • Die Schaltflächen mit den Pfeilen lagern die Archive aus und ein. Eingelagerte Files werden mit IMP markiert. In Fall von redundanten Systemen erfolgt die Einlagerung für beide Systeme.

Falls Sie bereits eingelagerte, auf der Platte existierende Archive einlagern erfolgt die Meldung: Sie haben einen nicht einlagerbaren Datensatz selektiert. Wollen Sie mit der Einlagerung fortfahren?

Anmerkung: Beachten Sie, dass es möglich ist Dateisätze (filesets) eines identisch parametrierten Projektes in einem Zielprojekt einzulagern und auszuwerten, obwohl diese Dateisätze im Zielprojekt nicht existiert haben.

Das funktioniert folgendermaßen:

1. Nach dem Anlegen des Projektes wird das Projekt auf einen zweiten Rechner kopiert.

2. Nach einem beliebigen Zeitraum werden beliebige Archivsätze inklusive dem aktuellen und der AR_x-Datei_ (<Archivnummer>.<Datum>) auf den zweiten Rechner kopiert.

3. Am zweiten Rechner kann jetzt ausgewertet werden.

4. Die Archivsätze können jederzeit kopiert und am zweiten Rechner ausgewertet werden. Es können auch nicht mehr benötigte, alte Archivsätze am zweiten Rechner gelöscht werden.

Anmerkung:

Bereits archivierte Files (AR) können nur manuell rückgesichert werden, beim automatischen Backup werden sie nicht berücksichtigt. Bereits eingelagerte Archive, eingelagerte Files (mit IMP markiert), können nur manuell gelöscht werden.

  • Die Schaltfläche DIR liest das Verzeichnis und filtert dabei nach dem Archivnamen. Es werden nur die Archivsätze des aktuellen Archivs aus "AR_0001_*" gezeigt.

  • Die Schaltflächen Auswurf, Spulen dienen zur Bandbewegung (nur bei DAT).

  • Die Schaltflächen Mount, Unmount verbinden bzw. trennen zum Laufwerk (nur Linux).

  • Die Schaltfläche Format löscht (formatiert) das Band (nur bei DAT Sicherung zu sehen).

Anmerkung: Bei der Sicherung auf Festplatte, MO oder JAZ ist keine Initialisierung nötig!
  • Die Schaltfläche löscht den Archivsatz, der gerade ausgewählt ist. Es können nur abgeschlossene Archivsätze gelöscht werden.

  • Die Schaltfläche stößt die manuelle Komprimierung des ausgewählten Archivsatzes an. Zunächst wird der ausgewählte Archivsatz in Stufe 1 komprimiert. Nochmaliges Selektieren des zuvor komprimierten Archivsatzes und Klick auf diese Schaltfläche startet die Komprimierung nach Stufe 2. Es können nur abgeschlossen Archivsätze manuell komprimiert werden. Bei Auswahl eines aktuellen Archivsatzes erfolgt eine Meldung, dass der Filesatz nicht bearbeitet werden kann.

  • Die Schaltfläche führt einen Archivsatzwechsel des aktuellen Archivsatzes durch.

Zusätzlich informieren die Punkte über den Schaltflächen durch Farbwechsel (grün = "alles OK", gelb = "ist beschäftigt" und rot = "ein Fehler ist aufgetreten"), was passiert. Wird eine dieser Aktionen manuell ausgeführt, so können die anderen Schaltflächen nicht bedient werden (z.B. wird ein Archivsatzwechsel des aktuellen Archives angestoßen, so kann kein weiterer Archivsatz manuell gelöscht oder komprimiert werden - die oben beschriebenen Schaltflächen sind deaktiviert).

Beim manuellen Aufruf der Komprimierung wird der Parameter für die Einstellung der Anzahl an Archivsätzen, die in Stufe 1 verbleiben, und der Config-Eintrag maxNumberOfFilesToCompress nicht beachtet. Die nächste Tabelle zeigt prinzipiell die Möglichkeiten der Komprimierung von Archivsätzen und die angezeigten Stati im Panel Historiendatenbank Aktion.

Status Bemerkung
OK

Archivsatz ist lokal vorhanden und noch nicht archiviert.

Solche Archivsätze können komprimiert und ausgelagert werden (mit der Ausnahme des aktuellen Archivsatzes).

OK - C1 Archivsatz ist lokal vorhanden, noch nicht archiviert und in der Komprimierungsstufe C1.
OK - C2 Archivsatz ist lokal vorhanden, noch nicht archiviert und in der Komprimierungsstufe C2. Weitere Komprimierung ist nicht möglich.
AR Archivsatz ist lokal vorhanden und wurde zusätzlich ausgelagert.
AR - C1 Archivsatz ist lokal vorhanden, wurde zusätzlich ausgelagert und ist in der Komprimierungsstufe C1.
AR - C2 Archivsatz ist lokal vorhanden, wurde zusätzlich ausgelagert und ist in der Komprimierungsstufe C2. Weitere Komprimierung ist nicht möglich.
DEL Datei ist physisch gelöscht.
IMP Eingelagerte Dateien dürfen nicht komprimiert werden.
OFF Archivsatz ist auf einem Backup Medium.
OFF - C1 Archivsatz ist auf einem Backup Medium und in der Komprimierungsstufe C1.
OFF - C2 Archivsatz ist auf einem Backup Medium und in der Komprimierungsstufe C2.
ERR Fehlerstatus. Ein Archivsatz sollte da sein, wurde aber nicht gefunden.
ERR- C1 Fehlerstatus. Ein Archivsatz in Stufe C1 sollte da sein, wurde aber nicht gefunden.
ERR- C2 Fehlerstatus. Ein Archivsatz in Stufe C2 sollte da sein, wurde aber nicht gefunden.
LOC Status ist "Locked" da eine Operation gerade durchgeführt wird und auf den Archivsatz nicht zugegriffen werden kann.
LOC -C1 Status ist "Locked" da eine Operation gerade durchgeführt wird und auf den Archivsatz in der Kompressionsstufe C1 nicht zugegriffen werden kann.
LOC -C2 Status ist "Locked" da eine Operation gerade durchgeführt wird und auf den Archivsatz in der Kompressionsstufe C2 nicht zugegriffen werden kann.
Anmerkung:

Im Panel Archiv Control können bei der Verwendung der History DB nur Alarme parametriert werden.

VORSICHT:

Wird ein AS-Wechsel gemacht, während der aktuelle AS gerade wegen eines Online-Backups gesperrt ist, wird der AS-Wechsel verzögert und nach dem Ende des Backups nachgezogen. Das kann bei redundanten Systemen zu unterschiedlichen Dateinamen bei den AS führen.

Werden Auslagerungen während AS-Wechsel gemacht, kann die Auslagerung schief gehen. Entsprechende Meldungen werden im Log ausgegeben.

Abfrage archivierter Daten

Bei dpGetPeriod()-Abfragen an das ValueArchive mit Werten außerhalb des abgefragten Zeitbereiches (Parameter "count" > 0 ), werden auch durch das Archiv selbst generierte Werteinträge (z.B. bei Archivierungsstart und Archivwechsel) mitgelesen. Diese Werte sind am gesetzten TIMEINVALID-Bit erkennbar.

Beachten Sie dabei folgendes:

  1. Sofern der allererste Archivsatz existiert, können Werte bis zum 1.1.1970 01:00:00.000 abgefragt werden.

  2. Erfolgt ein Archivsatzwechsel und wird der allererste Archivsatz gelöscht, können Werte nur bis zum Zeitpunkt des Archivsatzwechsels abgefragt werden. D.h. vor dem Zeitpunkt des Archivsatzwechsels können keine Werte mehr abgefragt oder geschrieben werden (z.B. mit Korrekturwertpanel es ist nicht möglich, weiter in die Vergangenheit zu blättern/schreiben).

  3. Wird nachdem der Archivsatzwechsel erfolgt ist, ein neuer DP angelegt, so kann dieser ebenfalls nur vom Startzeitpunkt des aktuellen Archivsatzes bis jetzt beschrieben abgefragt werden. Grund: wird ein neuer DP angelegt, so kann dieser nur im aktuellen Archivsatz und nicht in bereits abgeschlossenen Archivsätzen berücksichtigt werden!

  4. Änderung der Archivzuordnung: wird z.B. einem DP ein neues Archiv zugeordnet (5 Minuten Archiv -> Stundenarchiv), so kann mit "-report 11" des WCCOAdata eine Timelist ausgegeben werden, in welcher für jeden DP aufgelistet ist, wann dieser welchem Wertarchiv zugeordnet war. Die Ausgabe kann beispielsweise so aussehen:

DP Nr. 303 El. 18 --- Name: System1:_mp_ANALOG2.analog.C1.AVG_WT0

from 2001.08.22;00:00:30,000 to 2001.08.27;14:38:29,999 in archive 1

from 2001.10.12;11:57:30,000 to 2001.10.12;13:42:04,000 in archive 1

from 2001.10.12;13:42:04,000 to 2001.10.12;14:02:44,999 in archive 2

from 2001.10.12;14:02:44,999 to 2038.01.19;04:14:07,999 in archive 1

  1. Wird nach Änderung der Archivzuordnung z.B. eine statistische Funktion berechnet dann kann diese nicht mehr auf das alte Archiv geschrieben werden. Beispiel: die Archivzuordnung wird um 10h geändert. Die statistische Funktion startet um 10h10 die Berechnung und soll den Wert auf 09h50 schreiben. Das ist aber nicht möglich, weil die Archivierung des DPE im alten Archiv nicht mehr eingeschaltet ist. Der Wert wird auf den frühesten möglichen Zeitpunkt des aktuellen Archivs, in unserem Beispiel also 10:00h gesetzt und mit einem time invalid bit markiert. Dabei wird folgende Meldung ausgegeben:

Value came, but archiving was not active at given time

Archiving was stopped at Oct 12 2001 - 13:42:11.126, time of new value = Oct 12 2001 - 13:42:00.000

  1. Unter Linux kann definiert werden, wie viele Dateien ein einzelner Prozess zur gleichen Zeit öffnen kann (Defaultwert: 1024). Gibt es viele Archivdateien und werden größere historische Abfragen durchgeführt und größere Zeitbereiche abgefragt, könnte dieses Default-Limit (1024) erreicht werden. Mit dem folgenden Eintrag kann das Limit (Anzahl der Files pro Prozess) erhöht werden:

Open file: /etc/security/limits.conf

Paste following towards end:

* hard nofile 500000

* soft nofile 500000

root hard nofile 500000

root soft nofile 500000