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-, CTRL- 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 "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.