Beschreibung der Tabellen und Views

In diesem Kapitel werden die vom RDB Archiv-Manager für die RDB-Verdichtung verwendeten Tabellen und Views, die im Zuge der Installation in der Oracle-Datenbank angelegt wurden, beschrieben.

Tabellen

Im Folgenden werden die Tabellen beschrieben, in denen die Prozesswerte für die RDB-Verdichtung wiederzufinden sind. Diese sind für den ordnungsgemäßen Betrieb der RDB-Verdichtung, für die Protokollierung der einzelnen Vorgänge und für die Verwaltung der jeweiligen Verdichtungsberechnungen, -intervalle und -stufen zuständig.

Dazu gehören die folgenden Tabellen:

Die Primary Keys der einzelnen Tabellen sind fett markiert.

Tabelle CSCALCULATION

Die Tabelle CSCALCULATION enthält die Verdichtungsberechnungen zur Berechnung der verdichteten Werte.

Spalte Beschreibung Datentyp
ELEMENT_ID Primärschlüssel zur Identifikation des Datenpunktelements für die Verdichtung. Eine 25-stellige Nummer mit folgender Syntax: STEP_ID<Auffüllung_mit_0ern,_falls_nicht_25-stellig_lang>CSBASE_ID NUMBER(25,0)
STEP_ID Dient der eindeutigen Identifikation der Verdichtungsstufe in der Tabelle CSSTEPS. NUMBER(5,0)
CSBASE_ID Dient der eindeutigen Identifikation des Verdichtungs-Datenpunktelements in der Tabelle ELEMENTS. NUMBER(25,0)
LASTVAL Speichert den zeitlich letzten Wert (Letztwert) der vorangegangen Intervalle. NULL wenn dieser nicht bekannt ist (wird für Durchschnittsberechnung aus Performance-Gründen verwendet). NUMBER
LASTVALPAST Speichert den zeitlich letzten Wert (Letztwert) der vorangegangen Intervalle. Gilt für nachträgliche Berechnungen - sonst gilt das gleiche wie für LASTVAL NUMBER
ACTIVE ‘1’ oder ‘0’. Bestimmt, ob die Verdichtungsfunktion aktiv ist und somit berechnet wird. Dabei ist zu achten, dass die zugehörige Verdichtungsstufe und Intervall ebenso aktiv sind. NUMBER(1,0) Default ‘1’

Tabelle CSFUNCTION

Die Tabelle CSFUNCTION enthält die Berechnungsfunktionen zur Berechnung der verdichteten Werte.

Spalte Beschreibung Datentyp
FUNCTION_ID Primärschlüssel; fix vergeben. Eindeutige Identifizierungsnummer der Funktion. NUMBER(2,0)
FUNCTION_NAME Name der Funktion, so wie sie in Oracle-SQL verwendet wird. VARCHAR2(40 Byte)

Der Inhalt ist fix vorgegeben (für Details zu den verfügbaren Funktionen siehe Abschnitt Funktion):

FUNCTION_ID FUNCTION_NAME
1 SUM
2 MIN
3 MAX
4 AVG
5 AVG_INTEGRAL
6 DIFF
7 DIFFABS

CSHISTORY Tabellen

Die CSHISTORY-Tabellen ergeben sich aus den definierten Intervallen. Für jedes Intervall wird eine History-Tabelle angelegt (siehe dazu auch Tabelle CSINTERVAL).

Die Syntax für den Namen einer solchen CSHISTORY-Tabelle ist:

CSHISTORY_<Intervall>_<Folgenummer>

Beispiele für mögliche History-Tabellen:

  • CSHISTORY_5MIN_03905014 -> Intervall 5 Minuten

  • CSHISTORY_1HOUR_03905026 -> Intervall 1 Stunde

  • CSHISTORY_1DAY_03905018 -> Intervall 1 Tag

  • CSHISTORY_2WEEK_03905012 -> Intervall 2 Wochen

  • CSHISTORY_1MON_03905015-> Intervall 1 Monat

  • CSHISTORY_1YEAR_03905009 -> Intervall 1 Jahr

Der Aufbau jeder CSHISTORY-Tabelle ist identisch.

Spalte Beschreibung Datentyp
ELEMENT_ID ID des Datenpunktelements, dessen Werte verdichtet wurden. NUMBER(25,0)
TS Zeitstempel. Markiert das Ende des Intervalls, für welches verdichtet wurde. TIMESTAMP(9)
VALUE Verdichteter Wert. NUMBER
CSBASE_ID Dient der eindeutigen Identifikation des Verdichtungs-Datenpunktelements in der Tabelle ELEMENTS. NUMBER(25,0)
STATUS Wertestatus. Das WinCC OA "_original.._status" Attribut. NUMBER(20,0)
USER_ Das WinCC OA "_original.._user" Attribut. NUMBER(5,0)
TEXT Das WinCC OA "_original.._text" Attribut. VARCHAR2(4000 Byte)
MANAGER Das WinCC OA "_original.._manager" Attribut. NUMBER(20,0)
SYS_ID WinCC OA ID des Systems aus der Tabelle SYSTEMS. NUMBER(20,0)
BASE Letzter Wert (Bodensatz) vom zuvor ausgelagerten Zeitbereich. NUMBER(1,0)

Tabelle CSINTERVAL

In der Tabelle CSINTERVAL werden die Informationen bezüglich Verdichtungsintervallen gespeichert. Für jedes Intervall müssen folgende Informationen vorhanden sein:

  • Ein Oracle-Job, der die Berechnung der Verdichtungsstufen für das jeweilige Intervall anstößt.

  • Ein Synonym in der Form CSHISTORY_FaktorEinheit_WRITE, wobei Faktor die Länge des Intervalls und Einheit der Code aus der Tabelle CSUNIT ist. Das Synonym zeigt auf die jeweils aktuelle CSHISTORY Tabelle für das Intervall.

  • Die jeweils aktuelle CSHISTORY-Tabelle in der Form CSHISTORY_ BetragEinheit_fortlaufendeNummer.

  • Der Oracle-Job wird mit jedem Intervall angelegt, ebenso das Synonym und die History-Tabelle.

Spalte Beschreibung Datentyp
INTERVAL_ID Primärschlüssel. Eindeutige Identifikationsnummer eines Intervalls. NUMBER(5,0)
STARTTIME Zeit der Startzeit für das Intervall (in UTC). TIMESTAMP(9)
UNIT_CODE Gibt die verwendete Einheit für das Intervall an. Verweis auf die Tabelle CSUNIT. VARCHAR2(4 Byte)
GROUP_NAME Der Intervallname (ergibt sich aus der Kombination <FaktorxEinheit>). VARCHAR2(7 Byte)
JOB_ID Interne Job-ID des Intervall-Jobs (Syntax: J_<FaktorxEinheit>) VARCHAR2(30 Byte)
LENGTH Gibt den verwendeten Faktor für das Intervall an. NUMBER(3,0)
JOBDELAY

Verzögerung in Sekunden .Wird in 2 Fällen verwendet:

  1. Wenn ein Job nicht laufen kann, weil "kleinere" Intervalle noch nicht fertig sind oder noch nicht alle Werte in die Event-History geschrieben wurden.

  2. Als Verzögerungszeit für den Intervall-Job - wird bei der Initialisierung angelegt und danach nicht mehr geändert. Falls einer Änderung erwünscht ist, muss der Intervall-Job händisch gelöscht werden und danach müssen die Jobs aktualisiert werden (mittels Refresh-Jobs).

Errechnung: Logarithmus zur Basis 2 von der Intervalllänge in Minuten ergibt Verzögerung in Sekunden.

NUMBER(20,0)
SIZE_ORDER Gibt die Größe des Intervalls an. Diese richtet sich nach der Anzahl der Minuten in einem Intervall. NUMBER(10,0)
ACTIVE ‘1’ oder ‘0’. Bestimmt, ob das Intervall verwendet wird ('1'). NUMBER(1,0) Default ‘1’
LASTCALC Endzeitpunkt der letzten durchgeführten Berechnung von Verdichtungen (in UTC). TIMESTAMP(9)
DESCRIPTION Beschreibung des Verdichtungsintervalls - wird aus dem Faktor und der Einheit in ausgeschriebener Form zusammengesetzt. VARCHAR2(64 Byte)

Beispiele für Verdichtungsintervalle (Auszug aus der Tabelle CSINTERVAL):

INTERVAL

_ID

STARTTIME

GROUP

_NAME

JOB_ID LENGTH JOBDELAY

SIZE

_ORDER

ACTIVE LASTCALC DESCRIPTION
1

18.11.09 13:48:00,

000000000

5MIN J_5MIN 5 2 5 1

23.11.09 11:58:00,

000000000

5 Minutes
2

18.11.09 13:50:00,

000000000

6MIN J_6MIN 6 3 6 1

23.11.09 11:56:00,

000000000

6 Minutes
3

18.11.09 14:00:00,

000000000

1HOUR J_1HOUR 1 6 60 1

23.11.09 11:00:00,

000000000

1 Hour
4

18.11.09 23:00:00,

000000000

1DAY J_1DAY 1 10 1440 1

18.11.09 23:00:00,

000000000

1 Day
5

29.11.09 23:00:00,

000000000

1WEEK J_1WEEK 1 13 10080 0

29.11.09 23:00:00,

000000000

1 Week
6

30.11.09 23:00:00,

000000000

1MON J_1MON 1 15 43830 1

30.11.09 23:00:00,

000000000

1 Month
7

31.12.09 23:00:00,

000000000

1YEAR J_1YEAR 1 19 525960 0

31.12.09 23:00:00,

000000000

1 YEAR

Tabelle CSSTEP

In der Tabelle CSSTEP werden die Informationen zu Verdichtungsstufen gespeichert.

Spalte Beschreibung Datentyp
STEP_ID Primärschlüssel. Dient der eindeutigen Identifizierung der Verdichtungsstufe. NUMBER(5,0)
NAME Name der Verdichtungsberechnung. Syntax: <Name_des_Verdichtungsintervalls>_<Verdichtungsfunktion>. VARCHAR2(49 Byte)
ACTIVE ‘1’ oder ‘0’. Bestimmt, ob die Verdichtungsstufe verwendet wird ('1'). NUMBER(1,0) Default ‘1’
INTERVAL_ID Die Identifikationsnummer des Intervalls aus der Tabelle CSINTERVAL. NUMBER(5,0)
FUNCTION_ID Die Identifikationsnummer der Funktion aus der Tabelle CSFUNCTION. NUMBER(2,0)

Tabelle CSTIMELOG

Tabelle zur Überprüfung der Performance. Es werden Aktivitäten (Berechnungen, Programmdurchläufe, Intervalldurchläufe, etc.) mit Startzeitpunkt, Endzeitpunkt und Dauer protokolliert.

Spalte Beschreibung Datentyp
STARTTS Anfangszeitpunkt. TIMESTAMP(3)
ENDTS Endzeitpunkt. TIMESTAMP(3)
DURATION_IN_SEC Dauer der Aktivität (= Endzeitpunkt – Anfangszeitpunkt). NUMBER
DESCRIPTION Beschreibung der Aktivität. VARCHAR2(512 Byte)
INFO Zusatzinformation VARCHAR2(512 Byte)
TRACE_LEVEL Trace_Level der eingetragenen Aktivität. Je höher das Trace-Level, desto wichtiger die Eintragung. Das Trace-Level kann im Config (Tabelle ARC_CONFIG) geändert werden und somit kann die Menge der eingetragenen Aktivitäten gesteuert werden. NUMBER(38,0)

Es gibt folgende Trace-Level (eingetragen in der Tabelle ARC_CONFIG, Parameter cs_tracelevel):

0 Kein Tracing.
1 Zeitdauer eines Intervall-Berechnungsdurchgangs.
2 Auftretungszeitpunkte von Alarmen (Tabelle ALERT) und alle Einträge niedrigerer Trace-Level.
3 Auftreten von Job-Verzögerungen (wegen Synchronisation mit „kleineren“ Intervallen) und alle Einträge niedrigerer Trace-Level, Zeitdauer zur Erzeugung von Intervallen Verdichtungsstufen oder Verdichtungsfunktionen.
4 Dauer einer einzelnen Verdichtungsberechnung und alle Einträge niedrigerer Trace-Level.

Tabelle CSUNIT

In der Tabelle CSUNIT werden die Zeiteinheiten für die Intervalle gespeichert. Die Tabelle UNIT hat einen fixen Inhalt.

Spalte Beschreibung Datentyp
UNIT_CODE Gibt die verwendete Einheit für das Intervall an. VARCHAR2(4 Byte)
UNIT_ID Eindeutige Identifikationsnummer für die Intervalleinheit (fix vergeben). NUMBER(1,0)
DESCRIPTION Beschreibung der Zeiteinheit, so wie sie auch von Oracle in den Intervall-Funktionen verwendet wird (Ausnahme "Week“). VARCHAR2(400 Byte)
FORMAT Format der Zeiteinheit, wie sie von Oracle in den Zeit-Formatierungen verwendet wird. VARCHAR2(4 Byte)
FREQ Die Frequenz, in dem die Einheit des Intervalls auftritt. VARCHAR2(20 Byte)

Die vorhandenen Spalten enthalten die folgenden fixen Werte:

UNIT_ID CODE DESCRIPTION FORMAT FREQ
1 MIN Minute MI MINUTELY
2 HOUR Hour HH24 HOURLY
3 DAY Day DD DAILY
4 WEEK Week null WEEKLY
5 MON Month MM MONTHLY
6 YEAR Year YYYY YEARLY

Views

Für den externen Zugriff (z.B. mit Crystal Reports) stehen die folgenden vorgefertigten Views für die RDB-Verdichtung zur Verfügung. In ihnen sind jene WinCC OA Attribute enthalten, die bei Abfragen von Interesse sind. Natürlich können auch eigene Views angelegt werden, die individuelle Zusammenstellungen erlauben.

Folgende Views werden im Folgenden beschrieben:

CSHISTORY_<Intervallname>

Für jede angelegte Intervallgruppe (Intervallnamen; Faktor multipliziert mit der Einheit) wird ein History-View angelegt, die alle Aktivitäten für die Gruppe protokolliert.

Spalte Beschreibung Datentyp
ELEMENT_ID Identifikationsnummer des Datenpunktelements für die Verdichtung. Eine 25-stellige Nummer mit folgender Syntax: STEP_ID<Auffüllung_mit_0ern,_falls_nicht_25-stellig_lang>CSBASE_ID NUMBER(25,0)
TS Zeitstempel. Markiert das Ende des Intervalls, für welches verdichtet wurde. TIMESTAMP(9)
VALUE Verdichteter Wert. NUMBER
CSBASE_ID Dient der eindeutigen Identifikation des Verdichtungs-Datenpunktelements in der Tabelle ELEMENTS. NUMBER(25,0)
STATUS Wertestatus. Das WinCC OA "_original.._status" Attribut. NUMBER(20,0)
USER_ Das WinCC OA "_original.._user" Attribut. NUMBER(5,0)
TEXT Das WinCC OA "_original.._text" Attribut. VARCHAR2(4000 BYTE)
MANAGER Das WinCC OA "_original.._manager" Attribut. NUMBER(20,0)
SYS_ID WinCC OA ID des Systems aus der Tabelle SYSTEMS. NUMBER(20,0)
BASE Letzter Wert (Bodensatz) vom zuvor ausgelagerten Zeitbereich. NUMBER(1,0)
ARCHIVE# Folgenummer des zugehörigen Intervalls aus der Tabelle CSHISTORY_<Intervall>_<Folgenummer>. NUMBER

VCSCALCULATION

In dieser Tabelle werden alle zugehörigen, aktuellen Werte einer Verdichtungsberechnung protokolliert.

Spalte Beschreibung Datentyp
ELEMENT_ID Identifikationsnummer des Datenpunktelements für die Verdichtung. Eine 25-stellige Nummer mit folgender Syntax: STEP_ID<Auffüllung_mit_0ern,_falls_nicht_25-stellig_lang>CSBASE_ID NUMBER(25,0)
ELEMENT_NAME Name der aktuellen Verdichtungsberechnung. VARCHAR2(4000 BYTE)
GROUP_NAME Der zugehörige Intervallname (ergibt sich aus der Kombination <EinheitxFaktor>). VARCHAR2(7 BYTE)
FUNCTION_NAME Name der zugehörigen Berechnungsfunktion. VARCHAR2(40 BYTE)
STEP_ID Identifikationsnummer der zugehörigen Verdichtungsstufe. NUMBER(5,0)
CSBASE_ID Identifikationsnummer des zugehörigen Verdichtungs-Datenpunktelements in der Tabelle ELEMENTS. NUMBER(25,0)
LASTVAL Speichert den zeitlich letzten Wert (Letztwert) des vorangegangen Intervalls. NULL wenn dieser nicht bekannt ist (wird für Durchschnittsberechnung aus Performance-Gründen verwendet). NUMBER
LASTVALPAST Speichert den zeitlich letzten Wert (Letztwert) der vorangegangen Intervalle. Gilt für nachträgliche Berechnungen - sonst gilt das Gleiche wie für LASTVAL. NUMBER
CALCULATION_ACTIVE Gibt an, ob die zugehörige Verdichtungsberechnung aktiviert ist (1). NUMBER(1,0)
STEP_ACTIV Gibt an, ob die zugehörige Verdichtungsstufe aktiviert ist (1). NUMBER(1,0)
INTERVAL_ACTIVE Gibt an, ob das zugehörige Verdichtungsintervall aktiviert ist (1). NUMBER(1,0)
SIZE_ORDER Gibt die Größe des zugehörigen Intervalls an. Diese richtet sich nach der Anzahl der Minuten im Intervall. NUMBER(10,0)