Settings for the Data Manager
[data] alertDpList
- Type
- bool
- Default
- 1
- Range
- 0|1
Can be used for a faster query of historical alerts when using the RAIMA alert database.
An internal list of DP elements available in an alert file set is created. By using the list
you can check whether a queried element is available in this alert file set.
[data] archiveReqTimeout
- Type
- unsigned short
- Default
- 0
- Range
- >= 0
Specifies the amount of retries the DataBG tries to open the database before stopping.
This setting is used to ensure that, if an archive is stopped, running queries will still be
answered "sometime" (that is, after maximum xxx seconds). With the config entry you define
how many seconds the Data Manager (=History DB) should wait (maximum) for these answers from
archives (with dpPeriodRequest(), dpGetAsynch() and dpQuery()). If no answer has been
received from all the archives during this period, the query will be terminated with an
error. The value should remain 0 (default value), meaning unlimited waiting time. Otherwise,
values beginning from 120 [secs] would be meaningful as some queries can take longer. e.g.
[data] archiveReqTimeout = 120
[data] bgOpenRetryCount
- Type
- int
- Default
- 5
- Range
- 0 - 25
Specifies the amount of retries the DataBG tries to open the database before stopping.
[data] checkDiskSpace
- Type
- bool
- Default
- 1
- Range
- 0|1
With this config entry the disc checking can be enabled or disabled. A disabling is only
required if the specified value for EmergencyKBLimit in the DiskSpaceCheck datapoint is too
high and thus the Data manager changes to the emergency mode already at start-up.
[data] checkMemory
- Type
- bool
- Default
- 1
- Range
- 0|1
With this config entry the memory checking can be enabled or disabled. A disabling is
only required if the specified value for EmergencyKBLimit in the MemoryCheck datapoint is
too high and thus the Data manager changes to the emergency mode already at start-up.
[data] checkNetworkBackupPath
- Type
- bool
- Default
- 1
- Range
- 0|1
Enabling (=1) this entry allows the data manager, using an icmp ping, to check if the
configured backup path is available. This avoids a blocking data manager if the network
resource is not available. The config entry is only required for Windows operating
systems. This config entry is recommended if the backup path for the data manager is
located on a windows network drive or shared folder and it is likely or common that the
network connection to the backup path is unstable.
[data] dataBgName
- Type
- string
- Default
- WCCILdatabg
Specifies the name of the Data Background Manager. The given Data Background Manager will
be started automatically by the Data Manager. If you specify "", the Data Background Manager
will not be started.
When using only Oracle archiving the DataBG manager is not required and can be
deactivated using the value "". In this case the recovery of the database can be directly
started after starting your project as the data manger is already running in multi-user
mode.
For projects with default archiving you must wait for the start of the DataBG manager
before a recovery can be performed.
[data] dbTmpDir
- Type
- string
- Default
- OS specific tmp directory
Defines the temporary directory for lock manager files of the RAIMA database. An empty
string "" means that the lock manager uses its default directory.
[data] DP_AlertDataSet
- Type
- string
- Default
- _AlertDataSet
Defines the name of the datapoint of the type _DataSet that is used for administering
data sets of the alert history.
[data] DP_AlertSaveRestore
- Type
- string
- Default
- _AlertSaveRestore
Defines the name of the datapoint of the type _AlertSaveRestore that is used when
managing and importing stored data of the alert history.
[data] DP_DataBgManager
- Type
- string
- Default
- _DataBgManager
- Range
- -
Internal data point name of the Data Background Manager.
[data] DP_DataManager
- Type
- string
- Default
- _DataManager
Internal datapoint name of the Data Manager.
[data] DP_DataSaveRestore
- Type
- string
- Default
- _DataSaveRestore
Defines the name of the datapoint of the type _DataSaveRestore that is used when managing
and importing exported data of the value history.
[data] DP_DataSet
- Type
- string
- Default
- _DataSet
Defines the name of the datapoint of the type _DataSet that is used for administering
data sets of the value history.
[data] DP_DiskCheck
- Type
- string
- Default
- All DP from type _DiskSpaceCheck
- Range
- -
Defines for what data points of the type _DiskSpaceCheck a check will be performed. The
entry specifies a data point name and can be executed several times. The disk check can be
disabled with DP_DiskCheck = "" or checkDiskSpace = 0.
[data] DP_MemoryCheck
- Type
- string
- Default
- _MemoryCheck
- Range
- -
Defines the name of the data point of the type _MemoryCheck. Through this data point, the
checking of the virtual memory will be realized. The memory check can be disabled with
checkMemory = 0.
[data] DP_RaimaErr
- Type
- string
- Default
- _RaimaErr
- Range
- -
When setting the [data] config entry "DP_RaimaErr" to a DPE element name of type Integer,
whenever a RAIMA error occurs, the code of the error is written to this DPE. When a problem
during DB repair at DataManager startup happens, the DPE is set to -1000. 1 The DPE is not
cleared by itself except after (successful) DataManager startup, where it is reset to 0 (=
no error). Note that all "relevant" error codes are negative (e.g. -27), positive codes are
warnings (and normally should not be shown). In a redundant system, on the secondary system
the DPE name gets an "_2" added to the base name (i.e. "RaimaErr_2.value" when the config
entry is "RaimaErr.value"). The DPE has to be considered as "forward DP" in the redu config
file.
[data] DP_RDBArchive
- Type
- string
- Default
- _RDBArchive
Defines the name of the datapoint of the type _RDBArchive containing the settings for
archiving using the relational database. See also RDB archiving.
[data] DP_RDBArchiveGroup
- Type
- string
- Default
- _RDBArchiveGroups
Defines the name of the datapoint of the type _RDBArchiveGroups containing the settings
of the archive groups. See also Setting archive group parameters.
[data] DP_ValueArchiveMedia
- Type
- string
- Default
- _ValueArchiveMedia
Defines the name of the datapoint of the type _ValueArchivMedia containing the settings
of the data transfer when an archive set changes and the settings when archives are
exported. See also History DB.
[data] fileSwitchRoundOff
- Type
- unsigned integer
- Default
- 360
- Range
- Seconds
The config entry "fileSwitchRoundOff" can be used to round up the time so that the
directory names of the alert archives are identical in redundant systems. The name of the
alert archives corresponds to seconds since 01.01.1970.
[data] flushTimeForAliasCache
- Type
- ushort
- Default
- 2
- Range
- 0..maxshort
Delay time (in seconds) between flushes of cache for alias changes. Higher value = better
performance but higher chance of data loss on system crash.
[data] flushTimeForDpConfigCache
- Type
- ushort
- Default
- 2
- Range
- 0..maxshort
Delay time (in seconds) between flushes of cache for config changes. Higher value =
better performance but higher chance of dataloss on system crash.
[data] ignoreCorruptDB
- Type
- bool
- Default
- 0
- Range
- 0|1
This config entry specifies whether the Data manager should be started when the database
is broken. If you specify the option "-repair", the system tries to repair the database. If
the database cannot be repaired, the Data manager cannot start. This behavior can be changed
via the config entry "ignoreCorruptDB = 1" in the [data] section. When this config entry is
used the data manager also starts if the database was not repaired. If the entry
"ignoreCorruptDB = 0" or no entry is used, the Data manager does not start in case of a
broken database.
[data] keepLastTimeSmoothedValue
- Type
- bool
- Default
- 0
- Range
- 0|1
With the config entry keepLastTimeSmoothedValue = 1 it is possible to archive the current
value at the end of a smoothing period if it is different than the last archived value which
started the smoothing period. The value will be archived when a new value change occurs
after the smoothing period and not at the end of the period. This feature only applies to
time based smoothing and smoothing periods configured using the "archive" config; see
_archive (Archiving). This feature is deactivated by default and no additional value is
archived.
[data] lastValBgUpdateCycle
- Type
- unsigned integer
- Default
- 600
- Range
- >= 0
If values in the past have changed, the DataBg manager sends messages for the update of
last values to the data manager. Since this is realized per DPE, a significant load for the
data manager can result. When using this entry, the requests of the DataBG are collected and
only executed every "lastValBgUpdateCycle" seconds.
[data] lmcType
- Type
- string
- Default
- LMC_IP (UNIX) / LMC_INTERNAL (Windows)
- Range
- LMC_INTERNAL, LMC_IP
Defines the type of the lock manager to be used. CAUTION: The internal lock manager is
not working across multiple processes under Linux. Therefore, it can only be used if it is
ensured that only ONE process access the database at one time (thus only the data manager,
only the ascii manager or only the dataBG manager). E.g. if the RAIMA is used for alarm
archiving the internal lock manager must not be used under Linux. In this case the dataBG
manager and the data manager can access the RAIMA database at the same time. This also
applies to data export via the ascii manager.
[data] lockVATimeout
- Type
- int
- Default
- 600
- Range
- 1..7200
Specifies how long the data manager waits for the value archives to report that the
archive sets are closed (during a redundancy balancing). Time is specified in seconds.
CAUTION! If you change the [data]
passiveRecoveryTimeout to a value smaller than lockVATimeout, it can cause a Redu
project not to start.
[data] maxAlertRequestCount
- Type
- int
- Default
- 1000000
- Range
- >= 0
Defines the number of elements (=number of rows x number of columns) that are queried in
a query with alarms. If the set number is exceeded the query is canceled as soon as possible
and an error is returned. This config entry is valid for dpQuery() and dpGetPeriod().
Queries for the history DB are also limited with this config entry. If the entry is set to 0
there is no limitation.
NOTE: If you set higher values than the default values for this config entry, this can
lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.
[data] maxLinesInQuery
- Type
- unsigned long
- Default
- 80000
- Range
- <number of dpe>.. MAX_UINT
Defines the maximum number of lines in a table.
NOTE: If you set higher values than the default values for this config entry, this can
lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.
[data] maxRequestLineCount
- Type
- int
- Default
- 0
- Range
- >= 0
The entry maxRequestLineCount defines the limit (in returned lines) for an answer of a
query (dpGetPeriod, dpQuery). Exceeding the limit causes a query break and an error message.
Use getLastError() in CTRL to find out the occurring error. With queries no data are
returned, with dpGetPeriod()all data until the break (+ some more) are returned. Only for
History DB and RAIMA. This entry is additional to maxRequestMemSize, i.e. only one limit
have to exceed for a query break. In case of data queries (no alarm data) this config entry
is only used for RDB archiving. Default 0: no limit.
[data] maxRequestMemSize
- Type
- int
- Default
- 0
- Range
- >= 0
The entry maxRequestMemSize defines the limit for the memory request in a query (dpQuery,
dpGetPeriod). Exceeding the limit causes a query break and an error message. Only for
HistoryDB and RAIMA. Default 0: no limit.
[data] maxUpdateMsgCount
- Type
- unsigned
- Default
- 1000
- Range
- >=0
This entry specifies how many identification changing messages (DP_MSG_MANIP_xxx) the
data manager will buffer. If there are more messages as specified in the queues the data
manager will remove some messages. When a client connects to the data manager and request
the identification the data manager will try to send only updates from these queues. Only if
the request cannot be satisfied this way the data manager will send the entire
identification.
[data] maxValueRequestCount
- Type
- int
- Default
- 1000000
- Range
- >= 0
Defines the number of elements (=number of rows x number of columns)that are queried. If
the set number is exceeded the query is canceled as soon as possible and an error is
returned. This config entry is valid for dpQuery() and dpGetPeriod(). Queries for the
history DB are also limited with this config entry. If the entry is set to 0 there is no
limitation.
NOTE: If you set higher values than the default values for this config entry, this can
lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.
[data] multiUserMode
- Type
- bool
- Default
- 1
- Range
- 0|1
If 1, the database is opened in multiple-user mode. If 0, in multiple-user mode.
[data] numberOfAlertsToBuffer
- Type
- short
- Default
- 500
- Range
- 10..500
Maximum number of alerts read from the incoming-message queue until the alerts are
flushed. The alerts are not flushed after this counter only. There can also be an implicit
flush if, for example, the buffer is full or the Data manager currently does not receive
messages. Realistic values are between 10 and 500. The value is project-dependent.
[data] numberOfDatapointsToCache
- Type
- int
- Default
- 10
- Range
- >= 1
Number of blocks created in the memory as a cache. Each block reserves 1 KB of memory.
The number should be modified depending on the total of values to be archived. The value is
project-dependent.
[data] numberOfValuesInOneInitMessage
- Type
- int
- Default
- 10
- Range
- 1..100
Number of items that are sent in a initialization message. Larger values mean faster
start-up, but other processes are slowed down by it.
[data] numberOfValuesToBuffer
- Type
- short
- Default
- 500
- Range
- 10..500
Maximum number of values read from the incoming-message queue until the blocks are
flushed. The blocks are not flushed after this counter only. There can also be an implicit
flush if, for example, a block is full. Realistic values are between 10 and 500 (the larger
the numberOfDatapointsToCache, the larger the resource may be, up to a maximum of
10*numberOfDatapointsToCache). The value is project-dependent.
[data] passiveRecoveryTimeout
- Type
- unsigned integer
- Default
- 1800
The maximum time that may be used for the copying of the database files.
CAUTION! If you change the passiveRecoveryTimeout to a value smaller than [data] lockVATimeout, it can cause a redu project not to
start.
[data] quickStart
- Type
- bool
- Default
- 1
- Range
- 0|1
Defines whether the DataBGManager will be started at the end of the project startup (0)
or at the start of Data manager (1). The first method is faster, the second more compatible
with original behaviour. When using the quickstart mode no other manager (ASCII,
DataBG) can access the database until all processes before the DataBG process are started.
For Linux the quickstart mode can be disabled as the RAIMA performance differences are not
significant. Depending on the particular use case it might be beneficial to disabe the
quickstart.
[data] repair
- Type
- string
- Default
- on
- Range
- on, off, ignore, last, lastonly, only:dbname
If the Data manager option "-repair" is used, the system tries to fix the specified
database. If the database cannot be fixed, the Data manager does not start anymore. This
behavior can be changed by using the config entry "ignoreCorruptDB = 1" in the [data]
section. When this config entry is used, the Data manager starts even in case of a broken
database. If you do not specify the -repair option, the Data manager tries to detect whether
the database was correctly stopped and whether the database should be repaired. The alert
database is not automatically repaired. Mode of database repair:
- on = checks and repairs the DB, if the file dbase.status' exists.
- off = if the file dbase.status' exists, then exit DM
- ignore = ignore the file 'dbase.status' and start DM
- last = repairs only the last data, if 'dbase.status' exists.
- lastonly = repairs the last changed data and exit.
- only:dbname = repairs only the specified data and exit.
[data] repairDchain
- Type
- bool
- Default
- 1
- Range
- 0|1
Specifies whether the RAIMA utility "dchain" shall be started for a defective database.
RAIMA data sets that shall be deleted are only marked as deleted at first. This "marked as
deleted" entries are stored in the dchain (delete chain). If the data manager is shut down
unexpectedly it may occur that the actual deleted entries as well as the entries that are
marked as deleted do not match the dchain. This config entry repairs this by using the
"dchain" utility.
[data] sendAlertsToRAIMA
- Type
- bool
- Default
- 0
- Range
- 0|1
Requires useRDBArchive = 1. A value of 1 indicates that alerts are sent to RAIMA as well
as to the RDB. Caution: No comparison is performed which can lead to gaps inside the
archiving. A value of 0 indicates that the alerts are only sent to the RDB.
[data] sendUDAGNullValues
- Type
- bool
- Default
- 1
- Range
- 0|1
Using this config entry you can specify whether the Data manager should send a null
(sendUDAGNullValues =1) or the latest value (sendUDAGNullValues =0) to the RDB database when
a single value is changed. This means that when there are several data point elements and
the value of only one element is changed, the value of the other elements is set to the
latest value of the element or to zero.
[data] smoothBit
- Type
- string
- Range
- Userbit 1.. Userbit 32, _active, _exp_default, _aut_default, _out_prange, _out_range, _exp_inv, _aut_inv, _online_bad, _default_bad, _from_GI, _from_SI, _per_active, _stime_inv, _uncertain
This entry specifies which status bits should be considered for a smoothing (low-level
old/new comparison before archiving). If one of these user bits changes, the value is not
smoothed out even if the original values would not have changed. This entry has to exist for
each user bit that should be considered. Possible values for the user bits are:
smoothBit = "_active"
smoothBit = "_exp_default"
smoothBit = "_aut_default"
smoothBit = "_out_prange"
smoothBit = "_out_range"
smoothBit = "_exp_inv"
smoothBit = "_aut_inv"
smoothBit = "_online_bad"
smoothBit = "_default_bad"
smoothBit = "_from_GI"
smoothBit = "_from_SI"
smoothBit = "_per_active"
smoothBit = "_stime_inv"
smoothBit = "_uncertain"
smoothBit = "Userbit 1"
smoothBit = "Userbit 2"
smoothBit = "Userbit 3"
smoothBit = "Userbit 4"
smoothBit = "Userbit 5"
...
smoothBit = "Userbit 30"
smoothBit = "Userbit 31"
smoothBit = "Userbit 32"
[data] startTimeVACorrection
- Type
- bool
- Default
- 1
- Range
- 0|1
With the config entry startTimeVACorrection = 1 changes Data Manager last value timestamp
in start message sent to the Valarch Manager to the start time of the current archive
record, if the first time is before that. With startTimeVACorrection = 0 is this feature
disabled.
Note: It is not recommended to disable this feature.
[data] statFctInitInterval
- Type
- unsigned integer
- Default
- 7200
- Range
- 0..7200
Specifies (when using RDB) the time how long after an archive is finished, value changes
of static datapoints that are dated back (can be detected via time stamp milliseconds = 0)
are still sent to the archive when the archive is restarted. If an archive is e.g. finished
at 14:30 , the Data Manager normally sends all last values with a time stamp after 14:30 to
a new starting archive. For statistical datapoints, however, all last values are sent with
the time stamp after 12:30 (7200) and thus sent to the old archive (since statistical
functions are calculated delayed and the last calculated value could otherwise get lost.).
Maximum value: 2 hours (7200) old values are sent to the old archive.
[data] transactionLogging
- Type
- bool
- Default
- 0
- Range
- 0|1
Since the data is written only block by block into the RAIMA database an unsaved block
can be lost at system crash and the stored data can be corrupted. The transaction logging,
however, prevents a permanent damage of the database since an internal (data internal)
transaction is only finished after all data is written to the disk. When the
transactionLogging is activated (= 1), no database repair is necessary. If transaction
logging is used, it takes priority over the values in the internal data manager DP.
Activated transaction logging causes the data manager to operate slower as without
transaction logging.
In order to disable transactionLogging, set the config entry to 0. TransactionLogging
cannot be disabled by deleting the config entry.
[data] useAlertDpListCache
- Type
- bool
- Default
- 1
- Range
- 0|1
Increases read performance for historic alerts (RAIMA database) by creating an "index"
database (adplist.db, adplist.key) in each alertset directory to record which alerts for a
given DP are saved in this alert dataset.
The entry is used by the Data and DataBG managers.
[data] useCurrentTimeForStartValue
- Type
- bool
- Default
- 0
- Range
- 0|1
With this config entry it is possible to force that a datapoint element value is written
to the database with the current timestamp at a specific point of time (but not at start-up)
when setting the _archive.._archive config (useCurrentTimeForStartValue = 1).
[data] waitForRecoveryFlag
- Type
- int
- Default
- 1800 sec
- Range
- 0-MAXINT, negative values are not allowed
The entry specifies the waiting period when connecting to the other redundant partner
during the run-up of passive recovery. This is the time within the redundant partner must
connect to the partner. If the redundant partner does not connect to the partner and the
time elapses, the computer restarts (active).
[data] waitTimeForBGStart
- Type
- unsigned integer
- Default
- 60
- Range
- >= 0
Accelerates the project start by not starting the DataBG immediately. The config entry
defines the time that is waited after the initialization of managers, before the
DataBGManager is started. The DataBG supports the Data manager in case of none time-critical
operations. The time is specified in seconds. The default value is 60. If an incorrect value
is specified the default value is used.