[ValueArchiveRDB]

Settings for the RDB Archiving

[ValueArchiveRDB] alertUpdateDelay

Type
Int
Default
300
Range
0-600. Should not be higher than 300.
If alarms where the pre-alarm is included in an already exported archive set occur, the database tries to reach the old alarm for five minutes. Thereby, alarms are possibly held back and the alarms are not written to the database. To prevent this and to reduce this time e.g. to 30 seconds use

[ValueArchiveRDB]
"alertUpdateDelay = 30".

[ValueArchiveRDB] APMDbDb

Type
string
APM database instance.

[ValueArchiveRDB] APMDbType

Type
string
Range
ORACLE, Access, SQL
APM database type. Currently only "ORACLE" is implemented.

[ValueArchiveRDB] APMDbUser

Type
string
Default
0
Range
0|1
Specifies the APM database user. There are own APM query functions, which can be used to query another RDB database. The functions use the DPE name instead of the element ID for the query. For the APM query functions see chapter Direct read functions.

[ValueArchiveRDB] bufferToDisk

Type
int
Default
1
Range
0-2
Specifies the storage mode, with which the data blocks are buffered, before they will be written into the database.

bufferToDisk = 0

Without BufferToDisk: in case of a disconnect to the RDB, the data blocks are buffered in RAM and accordingly they are written into the database. Note that data get lost in a case of out of memory.

bufferToDisk = 1

BufferToDiskMin (Default)

bufferToDisk = 2

BufferToDiskMax

[ValueArchiveRDB] bufferToDiskDir

Type
string
Default
<project_path>\db\buffer
Absolute path to the directory, in which the data blocks are buffered onto the HDD using bufferToDisk = 1|2. If the default directory is used the directory buffer will be created automatically. If you use an individual storage place, you have to enter the absolute path, e.g. "D:\BufferToDisk\Files".

[ValueArchiveRDB] Db

Type
string
Name of the database. This can be detected via the "tnsping" command from the client computer - as indicated in the preceding configuration under Connect Identifier, e.g. "ORAWERK1".

[ValueArchiveRDB] DbPass

Type
string
Database password.

[ValueArchiveRDB] DbType

Type
string
Default
ORACLE
Range
ORACLE, Access, SQL
Type of the database (currently only "ORACLE" is implemented).

[ValueArchiveRDB] DbUser

Type
string
Name of the database user.

[ValueArchiveRDB] delayAfterDBRestart

Type
int
Default
30 sec.
Time delay of the RDB initializing process in seconds after database start. If the database was stopped and is restarting again, it may happen that although the connection between RDB and the database has been established, the database start-up process has not been complemented yet. With this config entry RDB awaits the defined time before initialization of the connections and thus begins to write data into the database. By default this config entry is set to 30 seconds. In case of a database connection loss or if a connection will be opened/closed via the "closeDBConnection" and "openDBConnection" internal datapoint elements, this delay is taken into account. In case of a RDB manager start this delay is not used.

[ValueArchiveRDB] ignoreStatusBits

Type
int
Range
Bits 0-63
For the entry "ignoreStatusBits" bit numbers can be specified that are ignored for the status. You can specify several bit numbers. These bits are filtered out when values are written to the database. This means that the status of the bits is always set to 0. The numerical value has less digits in Oracle and less space is required in the database.

The bits 0-63 can be specified.

EXAMPLE:

[ValueArchiveRDB]

ignoreStatusBits = "20, 21, 30"

In this case the bits 20, 21 and 30 are set to 0 when writing. This only applies to values, NOT to alerts.

[ValueArchiveRDB] initialEntriesInBlock

Type
int
Default
50
Specifies the number of entries in the first block in the buffer after a reconnect of the RDB manager to the Oracle DB. All further blocks in the buffer possess the defined size from the data buffer in the RDB manager panel.

[ValueArchiveRDB] lostConnectionReportInterval

Type
float
Default
15 sec
Range
>= 0
Specifies the time in seconds after which the user will be informed when the RDB manager loses the connection to the database and tries to reestablish it.

[ValueArchiveRDB] maxRequestLineCount

Type
int
Default
0
Range
0-maxInt
Limits the size of queried data (dpGetPeriod, alertGetPeriod, dpQuery) to max. "x" return lines (0 = no limit). If this limit is exceeded an error (and no data) will be returned.

[ValueArchiveRDB] maxRequestThreads

Type
int
Default
4
Range
0..4
Number of threads (and also connections to the database) the RDB manager uses to(parallel) read (query) operations in the database. When using queryRDBdirect = 1, the read connection for the direct DB access is not affected by this setting (maxRequestThreads can be set to 0 in this case).

[ValueArchiveRDB] openConnOnDemand

Type
bool
Default
0
Range
0|1
RDB manager only opens a single write connection to the database, all other connections (update, deletion, info) will be opened (and closed afterwards) when necessary. Performance is worse in comparison to leaving all connections open all the time (openConnOnDemand = 0). Number of read connections is not affected by this setting (use maxRequestThreads instead). When using queryRDBdirect = 1 the read connection for the direct DB access is not affected by this setting. This entry is required for large, distributed systems when several RDB managers write into the same database. Otherwise Oracle requires too much memory since too many connections are open simultaneously.

[ValueArchiveRDB] oracleClientVersion

Type
int
Default
11
Range
>= 11.202
Specifies the Oracle client version.

[ValueArchiveRDB] queryFunction

Type
bool
Default
0
Range
0|1

With the config entry queryFunction = 1 a database function is used for dpGetPeriod() instead of a query. Therefore, the limitations such as the number of tables and the length of the SQL statement cease to exist.

With queryFunction = 0, a query is used as so far.

The entry can be used in ValueArchiveRDB and UI sections.

Note: Please note that this entry is not intended for use in regular projects, but can only be used for specific, proprietary database schemas. Use in different projects means that correct functioning can no longer be guaranteed.

[ValueArchiveRDB] queryFunctionGetPeriod

Type
boolean
Default
0
Range
0|1
If this keyword is set to 1, only dpGetPeriod() and alertGetPeriod() will use the query function in the Oracle Schema (see the config entry "queryFunction").

This can e.g. improve the performance of the trend.

The function dpQuery() will not use the query function.

[ValueArchiveRDB] queryOverBounds

Type
int
Default
1
Range
0|1
Specifies whether the function dpGetPeriod() should query outside the specified period (the parameter "Count" of the function dpGetPeriod ) or not. If the parameter "count" of the function is bigger than 0, also values outside (this means before and after) the queried period are queried. This may sometimes take longer. queryOverBounds = 1 means that values are queried outside the specified period. This works with queryRDBdirect = 1 only then, when one datapoint element is queried at the same time. queryOverBounds = 0 queries only values within the period. Thus, the query is faster.

[ValueArchiveRDB] queryOverId

Type
bool
Default
1
Range
0|1
Indicates the mode of database read queries:
  • 0 = datapoint name or DPE name; although this option impacts on performance, it does allow you to access the data in the Oracle database from a different WinCC OA project.
  • 1 = IDs (faster)

[ValueArchiveRDB] queryTimeout

Type
int
Default
0
Range
0 - 32767
Aborts database queries after queryTimeout seconds. If you set the value to 0, the queries are not cancelled.

[ValueArchiveRDB] redirectArcGroup

Type
string
Range
<AR_FROM> :<AR_TO>
The Config entry allows to specify, if an archive group is mapped to an other archive group to prevent the creation of a new archive group and therefor improving the overall performance. Example redirectArcGroup = VA10 :QPS The archive group VA10 is redirected to the archive group QPS redirectArcGroup = VA* :EVENT The archive groups with a name beginning with "VA" are redirected to the EVENT archive group.

[ValueArchiveRDB] sendMaxTS

Type
bool
Default
1
Range
0|1

sendMaxTS = 1

The RDB manager gets the highest time stamp from the database and synchronizes the data with the Data manager. Thus, the Data manager sends all value changes that are newer than the time stamp from the database, to the RDB manager.

sendMaxTS = 0

The RDB manager does not get the time stamp from the database and does not synchronize the data. This improves the performance but the last value change until the RDB start is not saved in the Oracle database.

sendMaxTS = 2

The latest time stamp per system is saved in the SYSTEMS table and updated with every block insert. When the RDB manager is started, the time stamp is read from the SYSTEMS table. This is a quick read operation that allows you to query the last time stamp of your system.

[ValueArchiveRDB] SQLPreFetchCount

Type
int
Default
1000
Range
>=0
Sets the number of rows to be buffered by the Oracle Client libraries after a successful query call and for each subsequent internal fetch request to the database. For queries returning a large number of rows, performance can be significantly improved by increasing the prefetch count.

[ValueArchiveRDB] updateConnCloseDelay

Type
float
Default
180 (3 minutes)
Range
0-32767
An additional DB connection is established for updates. Is only used if openConnOnDemand = 1 (see above). This update connection is closed again updateConnCloseDelay seconds after its last use.

[ValueArchiveRDB] writeTimeout

Type
int
Default
15 sec
Range
0-32767
When executing an INSERT or UPDATE statement in the database, the RDB manager waits writeTimeout seconds for the completion of the command. A reconnect to the database will be done when this timeout expires.

[ValueArchiveRDB] writeWithBulk

Type
bool
Default
1
Range
0|1
1 = Write data to RDB archives using OCI Oracle Call Interface (OCCI). The OCI bulk writing is activated by default. This improves the performance.

0 = Do not use OCI.