[ValueArchiveRDB]

Einstellungen für die RDB Archivierung

[ValueArchiveRDB] alertUpdateDelay

Typ
Int
Default
300
Wertebereich
0-600. Should not be higher than 300.
Wenn Alarme, bei denen der Voralarm in einem bereits ausgelagerten Archivsatz vorhanden ist, auftreten, versucht die Datenbank fünf Minuten lang den alten Alarm zu "erreichen". Dabei werden andere Alarme möglicherweise zurückgehalten und nicht in die Datenbank geschrieben. Um das zu verhindern und um die Zeit auf z.B. 30 Sekunden zu reduzieren, verwenden Sie

[ValueArchiveRDB]
"alertUpdateDelay = 30".

[ValueArchiveRDB] APMDbDb

Typ
string
APM Datenbank-Instanz.

[ValueArchiveRDB] APMDbType

Typ
string
Wertebereich
ORACLE, Access, SQL
APM Datenbanktyp. Zurzeit ist nur "ORACLE" implementiert.

[ValueArchiveRDB] APMDbUser

Typ
string
Default
0
Wertebereich
0|1
Definiert den APM Datenbankbenutzer. APM und die APM-Einträge werden verwendet um aus einer zweiten RDB Daten in ein WinCC OA-Projekt abzufragen. Bei der Abfrage wird der Datenpunkt-Name und nicht die ID verwendet. Für die APM Abfrage-Funktionen siehe Kapitel Direkte Lesefunktionen.

[ValueArchiveRDB] bufferToDisk

Typ
int
Default
1
Wertebereich
0-2
Auswahl des Speichermodus, mit welchem die Datenblöcke gepuffert werden, bevor sie in die Datenbank geschrieben werden.

bufferToDisk = 0

Ohne BufferToDisk: Im Falle eines Ausfalls der Verbindung zur RDB, werden Blöcke im Hauptspeicher gepuffert und dann in die DB geschrieben. Hinweis: Daten gehen verloren, wenn der Speicherplatz überschritten wird!

bufferToDisk = 1

BufferToDiskMin (Default)

bufferToDisk = 2

BufferToDiskMax

[ValueArchiveRDB] bufferToDiskDir

Typ
string
Default
<project_path>\db\buffer
Absoluter Pfad zum Verzeichnis, in welchem die Daten bei bufferToDisk = 1|2 auf der Festplatte gepuffert werden. Bei Verwendung des Default-Speicherortes, wird das Verzeichnis buffer automatisch angelegt. Bei Verwendung eines individuellen Speicherortes ist der absolute Pfad einzugeben, z.B.: "D:\BufferToDisk\Files"

[ValueArchiveRDB] Db

Typ
string
Name der Datenbank, die mittels Kommando "tnsping" vom Client-Rechner aus gefunden werden kann - wie bei der vorausgegangenen Konfiguration unter Connect Identifier angegeben, z.B. "ORAWERK1".

[ValueArchiveRDB] DbPass

Typ
string
Datenbankpasswort.

[ValueArchiveRDB] DbType

Typ
string
Default
ORACLE
Wertebereich
ORACLE, Access, SQL
Typ der Datenbank (zurzeit ist nur "ORACLE" implementiert).

[ValueArchiveRDB] DbUser

Typ
string
Name des Datenbankbenutzers.

[ValueArchiveRDB] delayAfterDBRestart

Typ
int
Default
30 sec.
Zeitliche Verzögerung der Initialisierung des RDB nach Datenbankstart in Sekunden. Wenn die Datenbank gestoppt und wieder gestartet wird, kann es vorkommen, dass zwischen RDB und der Datenbank zwar eine gültige Verbindung hergestellt werden kann, jedoch ist die Datenbank zu diesem Zeitpunkt noch nicht vollständig hochgefahren. Mit dem Config-Eintrag "delayAfterDBRestart" wartet RDB die eingestellte Zeit ab, bevor er die Verbindungen initialisiert und somit aktiv die Werte in die Datenbank schreibt. Per Default ist dieser Eintrag auf 30 Sekunden eingestellt. Bei jedem Verbindungsverlust zur Datenbank, und wenn eine Verbindung über die internen Datenpunktelemente "closeDBConnection" und "openDBConnection" geschlossen bzw. geöffnet wird, kommt diese Verzögerung zum Einsatz. Beim Starten des RDB-Managers wird diese Verzögerung jedoch nicht angewendet.

[ValueArchiveRDB] ignoreStatusBits

Typ
int
Wertebereich
Bits 0-63
Für den Eintrag "ignoreStatusBits" können Bitnummern angegeben werden, die im Status ignoriert werden. Mehrere Bitnummern können angegeben werden. Beim Schreiben in die Datenbank werden im RDB diese Bits im Status herausgefiltert. D.h. dass der Status bei diesen Bits immer auf 0 gesetzt wird. Damit hat der numerische Wert im Oracle weniger Stellen und in der Datenbank wird weniger Platz benötigt.

Es können die Bits von 0-63 angegeben werden.

BEISPIEL:

[ValueArchiveRDB]

ignoreStatusBits = "20, 21, 30"

In diesem Fall werden die Bits 20, 21 und 30 beim Schreiben immer auf 0 gesetzt. Dies gilt nur für Werte, NICHT für Alarme!

[ValueArchiveRDB] initialEntriesInBlock

Typ
int
Default
50
Definiert wie viele Einträge im ersten Block im Puffer nach erneuter Verbindungsaufnahme des RDB-Managers zur Oracle DB sind. Alle weiteren Blöcke im Puffer haben dann die eingestellte Größe aus dem Datenpuffer im RDB Manager Panel.

[ValueArchiveRDB] lostConnectionReportInterval

Typ
float
Default
15 sec
Wertebereich
>= 0
Definiert nach wie vielen Sekunden der Benutzer informiert wird, wenn der RDB-Manager die Verbindung zur Datenbank verliert und versucht diese wieder aufzubauen.

[ValueArchiveRDB] maxRequestLineCount

Typ
int
Default
0
Wertebereich
0-maxInt
Limitiert die Größe der abgefragten Daten (dpGetPeriod, alertGetPeriod, dpQuery) auf maximal "x" Rückgabezeilen (0 = keine Beschränkung). Wird dieses Limit überschritten, wird ein Fehler (und keine Daten) zurückgegeben.

[ValueArchiveRDB] maxRequestThreads

Typ
int
Default
4
Wertebereich
0..4
Anzahl von Threads und auch Verbindungen zu der Datenbank, die der RDB-Manager verwendet um parallele Operationen in der Datenbank durchzuführen (Abfragen). Wenn queryRDBdirect = 1 verwendet wird, wird die Lese-Verbindung für den direkten Datenbankzugriff nicht durch diese Einstellung beeinflusst. (maxRequestThreads kann in diesem Fall auf 0 gesetzt werden).

[ValueArchiveRDB] openConnOnDemand

Typ
bool
Default
0
Wertebereich
0|1
Der Config-Eintrag openConnOnDemand reduziert die Anzahl der RDB-Manager-Connections zu der relationalen Datenbank. Es werden die Read-, Info- und Delete-Connections nur bei Bedarf geöffnet und nach Abschluss der jeweiligen Operation wieder geschlossen. Die Performance ist schlechter als wenn alle Verbindungen die ganze Zeit offen wären (openConnOnDemand=0). Die Anzahl von Lese-Verbindung wird durch diese Einstellung nicht beeinflusst (verwenden Sie stattdessen maxRequestThreads). Der Eintrag openConnOnDemand ist für große verteilte Systeme notwendig, wenn viele RDB-Manager in dieselbe Datenbank schreiben. Andernfalls benötigt Oracle zu viel Speicher, weil zu viele Connections gleichzeitig offen sind.

[ValueArchiveRDB] oracleClientVersion

Typ
int
Default
11
Wertebereich
>= 11.202
Definiert die Oracle Client Version.

[ValueArchiveRDB] queryFunction

Typ
bool
Default
0
Wertebereich
0|1

Mit dem Config-Eintrag queryFunction = 1 wird eine Datenbank-Funktion anstatt einer Abfrage für dpGetPeriod() verwendet. Damit fallen Einschränkungen wie die Anzahl der Tabellen und Länge des SQL-Statements weg.

Mit queryFunction = 0 wird wie bisher eine Abfrage verwendet.

Der Eintrag kann in der ValueArchiveRDB- und UI-Sektion verwendet werden.

Hinweis: Bitte beachten Sie, dass dieser Eintrag nicht für den Einsatz in regulären Projekten vorgesehen ist, sondern nur für spezifische, propritäre Datenbankschemata verwendet werden kann. Ein Einsatz in abweichenden Projekten führt dazu, dass eine korrekte Funktionsweise nicht mehr garantiert werden kann.

[ValueArchiveRDB] queryFunctionGetPeriod

Typ
boolean
Default
0
Wertebereich
0|1
Wenn dieses Schlüsselwort auf 1 gesetzt ist, verwenden nur die Funktionen dpGetPeriod() und alertGetPeriod() die Abfragefunktion im Oracle-Schema (siehe Config-Eintrag ValueArchiveRDB.html#differentsections__queryFunction).

Dies kann z.B. die Performanz des Trends verbessern.

Die Funktion dpQuery() verwendet die Abfragefunktion nicht.

[ValueArchiveRDB] queryOverBounds

Typ
int
Default
1
Wertebereich
0|1
Gibt an, ob die Funktion dpGetPeriod() über die Grenzen des abgefragten Zeitbereichs (Parameter Count der dpGetPeriod-Funktion) abfragen soll oder nicht. Wenn der Count-Parameter der Funktion größer als 0 ist, werden auch Werte außerhalb (das heißt vor und nach) dem abgefragten Zeitbereich abgefragt. Das könnte mitunter eine längere Zeit in Anspruch nehmen. queryOverBounds = 1 bedeutet, dass Werte über die Grenzen abgefragt werden. Dies funktioniert in Verbindung mit queryRDBdirect = 1 nur für RDB-Abfragen auf ein einzelnes Datenpunktelement. Bei queryOverBounds = 0 werden nur Werte im Intervall abgefragt. Das beschleunigt den Prozess.

[ValueArchiveRDB] queryOverId

Typ
bool
Default
1
Wertebereich
0|1
Gibt an, wie die lesenden Datenbankabfragen erfolgen:
  • 0 = Datenpunktnamen oder DPE-Namen; diese Variante bringt zwar Performanceeinbußen, aber dadurch kann man aus einem anderen WinCC OA Projekt auf die Daten in der Oracle DB zugreifen.
  • 1 = IDs (schneller)

[ValueArchiveRDB] queryTimeout

Typ
int
Default
0
Wertebereich
0 - 32767
Bricht Datenbank-Abfragen nach queryTimeout Sekunden ab. 0 bedeutet kein Timeout.

[ValueArchiveRDB] redirectArcGroup

Typ
string
Wertebereich
<AR_FROM> :<AR_TO>
Der Config Eintrag erlaubt es festzulegen, ob eine Archivgruppe auf eine andere Archivgruppe gemappt wird, um so das Anlegen zusätzlicher Archivgruppen zu verhindern und eine bessere Performance zu erzielen. Beispiel redirectArcGroup = VA10 :QPS Die Archivgruppe VA10 wird hierbei auf die Archivgruppe QPS weiter geleitet. redirectArcGroup = VA* :EVENT Die Archivgruppen, welche mit "VA" beginnen werden auf die Archivgruppe Event weiter geleitet.

[ValueArchiveRDB] sendMaxTS

Typ
bool
Default
1
Wertebereich
0|1

sendMaxTS = 1

Der RDB-Manager holt sich den größten Zeitstempel aus der Datenbank und führt mit dem Data-Manager einen Datenabgleich aus. D.h. der Data-Manager sendet dem RDB-Manager alle Wertänderungen, die neuer sind als der Zeitstempel aus der Datenbank.

sendMaxTS = 0

Der RDB holt den Zeitstempel nicht aus der Datenbank und es erfolgt kein Datenabgleich. Das verbessert die Hochlaufgeschwindigkeit, aber die letzte Wertänderung bis zum RDB-Start ist nicht in der Oracle-Datenbank.

sendMaxTS = 2

Der letzte (zuletzt gespeicherte) Zeitstempel pro System wird in der SYSTEMS-Tabelle gespeichert und mit jedem Block der in die Datenbank geschrieben wird, aktualisiert. Beim Start des RDB-Managers wird der Zeitstempel aus der Tabelle gelesen. Das ist eine schnelle Leseoperation mit der Sie den neuesten Zeitstempel des Systems abfragen können.

[ValueArchiveRDB] SQLPreFetchCount

Typ
int
Default
1000
Wertebereich
>=0
Legt die Anzahl der Zeilen fest welche gebuffert werden durch die Oracle Client Library nachdem ein erfolgreich Aufruf einer Abfrage und für jeden anschließenden Abruf in der Datenbank. Für Abfragen die eine hohe Anzahl an Datenreihen zurückliefern kann die Performance signifikant verbessert werden durch erhöhen des PreFetchCount Wertes.

[ValueArchiveRDB] updateConnCloseDelay

Typ
float
Default
180 (3 minutes)
Wertebereich
0-32767
Für Updates wird eine zusätzliche DB-Verbindung geöffnet. Sie wird nur dann verwendet wenn openConnOnDemand = 1 (siehe oberhalb). Die Update-Connection wird wieder nach updateConnCloseDelay-Sekunden nach ihrer letzten Verwendung geschlossen.

[ValueArchiveRDB] writeTimeout

Typ
int
Default
15 sec
Wertebereich
0-32767
Wenn Sie in der Datenbank eine INSERT- oder UPDATE-Anweisung durchführen, wartet der RDB-Manager writeTimeout-Sekunden für die Durchführung der Anweisung. Die Verbindung zur Datenbank wird wieder hergestellt, wenn das Timeout abläuft.

[ValueArchiveRDB] writeWithBulk

Typ
bool
Default
1
Wertebereich
0|1
1 = Schreibt Daten in das RDB-Archiv über die OCI Oracle Call-Schnittstelle (OCCI). OCI Bulk-Writing ist defaultmäßig aktiviert. Dies verbessert die Performance.

0 = OCI wird nicht verwenden.