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.