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:
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) |