Parameters for archive
Archive reads the following parameters from the system registry during its start. Values can be adjusted by using the D2000 Application Manager (D2Smc.exe).
|AlmostZero||Size of delta used in comparison of two values. If the parameter is not specified, the default value is 1e-10.|
Two values A and B are considered equal, if at least one of following conditions is true:
Note: Parameter was introduced due to the fact that a floating number stored into SQL database and then read from this database can be marginally different from the original value.
|ArcsynchroAuto||The command for automatic synchronisation of archive database after the start. IF this command is not defined, the archive doesn't run this command but presumes that synchronisation of archive holes will be performed by external mechanism.|
The command will be run only if the archive is run as an instance (a shadow process).
|ArcsynchroBackground||When the archive detects a patched hole, it runs recalc for the closed hole. If the parameter ArcsynchroBackground is set to 1, recalc will be performed by auxiliary calc task. Default value is 0 - recalc will be performed by main archive write task(s). More information.|
|ArcsynchroTimeDelta||When the archive detects a patched hole, it runs recalc for the closed hole, extending over the hole interval by ArcsynchroTimeDelta seconds on both sides. If the parameter is not defined, default value is 10 seconds (the same as default value of parameter /TD of arcsynchro utility). More information.|
|AutoMountPath||Configuration parameter for depository databases on Sybase platform - more information.|
|BackupOffset||Offset of the backup start in the given period. It is given in the format HH:MM. It is the offset in hours and minutes.|
Note: Backup (parameters BackupOffset, BackupPath, BackupPeriode, BackupPassive) is currently implemented only for Sybase and MS SQL platforms. For Oracle databases we recommend using utilities rman or exp, for PostgreSQL database utility pg_dump.
|BackupPath||Path to the directory, where the archive database backup will be stored.|
|BackupPeriode||Backup period given in hours. The value 0 means backup will not be performed.|
|BackupPassive||Acquires the values 0, 1:|
|When CommitCount values are inserted into archive database, D2000 Archiv calls Commit. Default value is 1000. By increasing this value the frequency of Commit operations will be lowered. This parameter can be set separately for active and passive archive.|
Parameters CommitCountActive and CommitCountPassive can be changed via TELL command SET_OPTION.
Note 1: Archive is considered to be active if it reads data from archive database. Archive is passive if it is connected to standby server or if it is a passive instance of archive.
|CommitDeleteRatio||Number of deleted values (by TELL command DELETE_DATA or by the action DELETEARCHDATA), which are considered equivalent to one inserted value, as far as Commit is concerned (see the description of CommitCountActive/CommitCountPassive). Default value is 100 deleted values.|
Parameter is put into effect during deleting of larger number of values where it causes Commits to occur (and e.g for Oracle database it avoids excessive use of the UNDO tablespace).
|Time (in seconds), after which the archive performs periodic Commit. Default value is 60 seconds. This parameter can be set separately for active and passive archive. See notes at CommitCountActive/CommitCountPassive parameters.|
Parameters CommitTimeActive and CommitTimePassive can be changed via TELL command SET_OPTION.
|CursorCacheSize||Cache size for precompiled cursors (precompiled INSERT or UPDATE commands).|
The parameter is supported from the version 7.01.007 release 26. In the previous versions, there were a cache for INSERT statements, its fixed size was 1500 items and UPDATE statements were not cached at all. From the version 7.01.007 release 26, the cache size is dynamic and if the parameter of DWORD type does not exist (default), the cache size is not limited.
One object of Historical value type requires a pair of INSERT and UPDATE precompiled cursors.
Optimum is the cache size greater than the number of objects of Historical value type and there is no need to remove precompiled commands from the cache.
On Sybase 6.0, 7.0, 9.0, 12.0 MS SQL a MSDE platforms, a cache with more than 3000 cursors was tested.
Note 1: It is not usually needed to define the parameters CursorCacheSize and CursorCacheUpdates.
|CursorCacheUpdates||If the value of the parameter is 1, the cache will store precompiled UPDATE commands too.|
The parameter is supported from the version 7.01.007 release 26. In the previous versions, there were a cache for INSERT statements, its fixed size was 1500 items and UPDATE statements were not cached at all.
From the version 7.01.007 release 26, the cache for UPDATE commands is enabled by default. If the parameter of DWORD type doesn't exist (default), the cache for UPDATE commands is enabled.
Note 1: It is not usually needed to define the parameters CursorCacheSize and CursorCacheUpdates.
|DataTableSlices||Value 0 (default) means that the archive doesn't use time slices.|
Value 1 enables time slices in archive database for all archive objects.
Value 2 enables time slices in archive database for structured archives only.
Note: Changing the value to 1 or 2 means a non-reversible conversion of archive database.
Therefore we recommend you to backup the archive database before this parameter is changed. Backup database + data from converted database (via arcsynchro) can be used to revert to the non-slicing archive.
Note: migration from value 1 (time slices for all archive objects) to value 2 (time slices for structured archives only) is possible. Thereafter it is necessary to run a TELL command CLEANUP_SLICES to remove time slices of simple archive objects and to move values from these time slices to original data tables.
|DbUsername||Parameter can be used to change a default value of username used by archive to connect to an archive database. |
The default username is:
|DbPassword||Parameter can be used to change a default value of password used by archive to connect to an archive database.|
Parameter only needs to be set if the password differs from the standard swx.
|DeleteInSlice0||If time slices are used in archive, the value 1 (default) means that during periodic delete in archive database also data from slices zero (original data tables) will be deleted. The value 0 turns the deletion off, so that during the periodic delete no data are delete from slices zero, but the whole slice will be emptied (via SQL command TRUNCATE TABLE), when it is older than configured "History depth" parameter of the historical value. The advantage is speed (database is not burdened by DELETE commands which generate REDO logs and optionally by following automatic reorganization), disadvantage is up to double the disk space needed for database (until all slices zero get truncated).|
For new applications there is no need to modify this parameter, for old applications upgraded to version 8 and above we recommend keeping the value of this parameter to 1.
Note: If time slices are not used, parameter DeleteInSlice0 must be set to 1, otherwise periodic deletes of archive will not be performed (original archive tables are considered to be slices zero).
|DeleteInSlices||If time slices are used in archive, the value 0 (default) means that during periodic delete in archive database data from time slices won't be deleted, but the whole slice will be emptied (via SQL command TRUNCATE TABLE), when it is older than configured "History depth" parameter of the historical value. The advantage is speed (database is not burdened by DELETE commands which generate REDO logs and optionally by following automatic reorganization), disadvantage is increase of needed disk space needed for database by data contained in one time slice (i.e. 1 month).|
Value 1 means that during periodic delete in archive database the DELETE commands (and optionally, if configured, automatic reorganization) will be executed.
We recommend keeping the value of this parameter to 0.
|DiskUsageWarning||Setting the parameter DiskUsageWarning to value 0 disables the archive warning (ODBC version only) that free space on a disk with the archive database is below 10% of the archive database size.|
Default value 1 means that a warning is displayed by all D2000 HI processes.
Note: Parameter DiskUsageWarning can be changed via TELL command SET_OPTION.
|DropOldRequests||If the recalculations of older values of computed historical values by auxiliary calc task are on (see the parameter RecalcImmediateDepth), setting the parameter DropOldRequests to value 1 causes the recalculations not to be performed but instead to be written to a file in the application directory. The name of the file is SELF_ARCHIV_DROPPED_CALCS.DAT for the process SELF.ARC or name_ARCHIV_DROPPED_CALCS.DAT for the process name.ARC. The contents of this file can be processed by a TELL command CALC_OLD_REQUESTS. Default value of the parameter DropOldRequests=0 means that the recalculations will be performed.|
Note: The parameter DropOldRequests can be changed via TELL command SET_OPTION DROP_OLD_REQUESTS ON/OFF.
|DSN_Override||This parameter has a similar meaning for archive on Sybase / MS SQL / PostgreSQL platforms, as has parameter TNS_Service_Name for archive on Oracle platform. That is it enables to change a predefined DSN (Application.Archiv for SELF.ARC or Application.Arcname.Archiv for Arcname.ARC), which the process D2000 Archiv uses to connect to archive database. It enables e.g. to run two instances of the archive on a single computer.|
If the parameter is not defined or it is empty, then the predefined DSN will be used.
Note 1: The parameter is implemented starting with D2000 version 8.0.
Note 2: If the value of parameter DSN_Override is set, then editing of the archive in D2SMC or in module D2000 Application Manager in Enterprise Management Console affects not predefined DSN of the archive, but DSN which name is specified by parameter DSN_Override.
|ForceSelectIndex||If the parameter of DWORD type is set to a non-zero value, the FORCE INDEX clause of SELECT command will be used when reading from Sybase Anywhere version 9 and higher.|
Sybase version 9.0.1 and higher implements the FORCE (index_name) clause in SELECT command. The clause avoids using the SQL command optimiser and orders to use the selected index in SELECT command. The parameter ForceSelectIndex has been implemented to quicken reading from the archive database, but its real benefit need to be tested yet.
Note 1: If reading from the archive database on Sybase is too slow, check whether the Optimization_goal option is set to First-row.
|FreeSpaceQuery||The parameter of STRING type determines a way the process D2000 Archiv queries free space in the archive database on Oracle platform:|
Note 1: The parameter was implemented due to random deadlock of archive in a specific application, which was caused by querying the free space from the database view USER_FREE_SPACE. Implementing the FreeSpaceQuery parameter and changing its value NONE and later to value DBA solved the problem.
Note 2: Starting from D2000 version 7.02.005 the database parameters FreeSpace, AutoExtensible and DatabaseSize are queried during every 100-th commit. That means that the frequency of changes is influenced by the parameters CommitCountActive/CommitCountPassive a CommitTimeActive/CommitTimePassive.
|IsochronousCache||Value of 1 switches the archive cache into a new mode - so called isochronous cache. In this mode the cache of the process D2000 Archiv works as follows:|
Note: Parameter IsochronousCache can be changed via TELL command SET_OPTION.
Note: Dynamic adjustments of the time depth of the cache can be monitored via the System Console after enabling the debug category DBG.ARCHIV.CACHE.
|IsoCacheFullDepth||Parameter is meaningful only if Isochronous cache is enabled by setting the parameter IsochronousCache.|
Value 0 means that the time for keeping object's values (time depth of the cache) is equal for all objects.
Value 1 means that if such calculated or statistic objects exist, that their period is longer than a current time depth of the cache, the values of source archived objects will have prolonged time depths.
let there be a primary on-change archived object H.X
let there be a current time depth of the cache equal to 45 minutes (depends on the value of MaxCacheSize and archive's load)
let there be a statistic archived object H.X.AVG defined as a 3-hour average of H.X
if IsoCacheFullDepth=0, the time depth of H.X will be 45 minutes
if IsoCacheFullDepth=1, the time depth of H.X will be 3 hours, so that during the periodic calculation of H.X.AVG all data from the last period will be available
Note: Parameter IsoCacheFullDepth can be changed via TELL command SET_OPTION.
|IsoCacheAutoFill||Parameter is meaningful only if Isochronous cache is enabled by setting the parameter IsochronousCache.|
Value 1 means that isochronous cache is to be automatically loaded by reading values from archive database when Archiv is started. Loading is performed for all archive objects with the exception of on-read calculated archived objects. Time-depth of reading is determined by a dynamic parameter IsoCacheDepth.
Note: Loading of values for isochronous cache can be manually triggered by a TELL command FILL_CACHE.
Note: For archive running as an instance, the loading of values is performed after all archive holes have been patched (see the parameter ArcsynchroAuto). For a single archive, not running as an instance, the loading of values is performed immediately after archive initialisation.
|IsoCacheDepth||Parameter is meaningful only if Isochronous cache is enabled by setting the parameter IsochronousCache.|
Parameter determines a time-depth of isochronous cache in seconds. Parameter is dynamic, i.e. changed dynamically during archive's run depending on archive's load to keep the size of isochronous cache to a configured value MaxCacheSize. If a time-depth changes, archive will automatically save the new value of parameter IsoCacheDepth into registry. Note: parameter IsoCacheDepth can be modified by a TELL command SET_OPTION, which can be used during expansion of isochronous cache (SET_CACHE), manual modification of parameter IsoCacheDepth and manual triggering of isochronous cache data loading (FILL_CACHE).
|MaxCacheSize||Size of the memory [MB] that can be used by archive process to create dynamic cache. Using the archive cache significantly speeds up the evaluation of statistical archive objects.|
Note: Parameter MaxCacheSize can be changed via TELL command SET_CACHE.
|MaxOpenTrezors||Maximum number of depository databases that can be opened for reading at the same time.|
Using a Sybase Anywhere Engine database (i.e. not Network Server) limits the maximum number of simultaneous user connections to 10. If creating depository databases is enabled, the process D2000 Archiv uses 6 connections for its routine work (reading, writing, deleting/reorganize, configuration, current depository database, previous depository database). There are 4 connections left to read from depository databases mounted, so if creating depository databases is enabled, the parameter MaxOpenTrezors must be set to the value of at most 4.
If the maximum number of simultaneous user connections is reached, the process D2000 Archiv will display the following error message when reading from depository database:
(08004) [Sybase][ODBC Driver][Adaptive Server Anywhere]Database server connection limit exceeded ErrorCode=-102.
Default value of the parameter is 10 (for reasons of D2000 system backward compatibility).
The value can be higher for Sybase Anywhere Network Server.
Starting with version D2000 7.01.21 it is possible to disable the limit by setting parameter MaxOpenTrezors to 0.
|OldValOnAuxTask||Old values from the communication (which go only to archive and have the archive flag OldVal set) will be processed by auxiliary calc task.|
This parameter optimizes the performance of archive in specific applications. If the communication generates significant amounts of old values (e.g. protocol NMEA-0183 on File I/O line), setting the parameter to 1 alleviates the main archive task by moving old values to the auxiliary calc task.
Default value 0 means that the old values will be processed by the main archive task.
Parameter OldValOnAuxTask can be changed via TELL command SET_OPTION.
|OneThreadForGraph||The value can be 0 or 1. If OneThreadForGraph = 1, only one thread will be used for one instance of graph when data reading. If OneThreadForGraph = 0, the number of threads, defined in parameter ReadThreadsCount, will be used.|
|PG_CreateTrezor||Configuration parameter for depository databases on PostgreSQL platform - more information.|
|A value determining an SQL commands used during reorganization of previous time slices on PostgreSQL platform:|
Note 2: Parameter PG_ReorganizeSlice can be changed via TELL command SET_OPTION.
|A value determineing a time interval (in seconds) after which previous time slices will be reorganized on PostgreSQL platform. The default value is 3600 + 600 seconds, i.e. an hour and ten minutes after the previous time slices ceased to be used.|
Note: Parameter PG_ReorgSliceTime can be changed via TELL command SET_OPTION.
|Configuration parameter for depository databases on PostgreSQL platform - more information.|
|PG_TrezorName0||Configuration parameter for depository databases on PostgreSQL platform - more information.|
|Configuration parameter for depository databases on PostgreSQL platform - more information.|
|Configuration parameter for depository databases on PostgreSQL platform - value 1 turns on the old way of working (a permanent database connection to every attached depository database) that has higher demands on the database server. A value of 0 (default) causes the connection to be open only during reading of a particular depository database.|
|ReadThreadsCount||The parameter specifies the number of threads that provide parallel access to data from archive. Possible values 1...10. Default value is 1. Value greater than 1 requires licence for "High Performance Archive" pack.|
Experimental parameter. When reading time interval <Start, Stop> from archive, the queried interval will be <Start-ReadTimeBeforeStart, Stop>. For specific applications it is possible to tune the parameter ReadTimeBeforeStart to achieve that also the first value before time interval <Start, Stop>, which is obviously read by another SELECT command, will be obtained.
|RecalcImmediateDepth||Time depth (in seconds) of the recalcs of computed historical values, which are performed by a main archive task. Default value 0 means that all recalcs of historical values are performed by a main archive task. Non-zero value means that recalcs older than RecalcImmediateDepth seconds will be performed by an auxiliary calc task, so that the main archive task will not be loaded by recalcs of older historical values.|
Recalcs of calculated historical values are caused by the arrival of a historical value with older timestamp. If the recalculated time interval contains also values older than RecalcImmediateDepth seconds, it will be recalculated by an auxiliary calc task.
Note 1: Parameter RecalcImmediateDepth can be changed via TELL command SET_OPTION RecalcImmediateDepth seconds/OFF.
Note 2: Recalcs caused by a TELL command RECALC are performed by a main archive task.
|RecalcParallelInterval||Specifies the size of recalculated time interval (in seconds) intended for parallelisation. Parameter is meaningful for multiwrite archive (i.e. if the value of parameter WriteThreadsCount > 1 so that the archive uses multiple write tasks). If the parameter RecalcParallelInterval is set to non-zero value (the default value is 0), then the recalcs of time intervals greater than specified value which are initiated externally (by a TELL command or from a script) will not be performed by a write task assigned to the recalculated historical value, but a write task with the smallest number of recalc requests in its queue will be used.|
This parameter is intended to speed-up recalcs in balance systems which use structured evaluated/statistic historical values. If a request for a recalc of a whole structured historical values arrives, by default the recalcs of all rows of a structured historical value are performed by a single write task assigned to this historical value. Setting the parameter RecalcParallelInterval to a non-zero value will cause the recalcs of individual rows to be parallelised. Still the resulting calculated values will be inserted into the database by a single write task assigned to this historical value.
Note 1: This parameter does not influence the recalcs caused by the arrival of a new value, only the recalcs initiated by a TELL command or from a script.
Note 2: Parameter RecalcParallelInterval can be changed via TELL command SET_OPTION
|RecalcTimeIntervalLimit||The parameter (specified in hours) for the process D2000 Archiv defines a limit for time interval for recalculation of statistics. If a request for recalc of a longer time interval is generated (internally or as a result of TELL command RECALC), it will be split into several shorter requests with time interval not longer than limit defined by parameter RecalcTimeIntervalLimit. This parameter is meant to be a safeguard against crash of the process D2000 Archiv during recalcs of long time intervals entered by user or caused by the arrival of old value.|
Note 1: If RecalcTimeIntervalLimit = 0 then time interval is not limited (default behaviour).
Note 2: Parameter RecalcTimeIntervalLimit can be changed via TELL command SET_OPTION RecalcTimeIntervalLimit hours/OFF.
|RecalcUseTrezor||The parameter can acquire the value 0 or 1.|
If the parameter RacalcUseTrezor = 1, the archive will read also data from depository database during recalculation.
The depositories will be read when required data are behind the archive depth of object which is being read.
The parameter can be set also by TELL command SET_OPTION RECALC_USE_TREZOR ON.
|ReorganizeOffset||Offset of periodic reorganization start in the given period. It is given in the format HH:MM. It is the offset in hours and minutes. See the description of parameter ReorganizePeriode.|
|ReorganizePeriode||Periodic reorganization period given in hours. During periodic reorganization all archive tables are reorganized irrespective of number of deleted rows and time of last reorganization (see parameters ReorganizeTableRowLimit and ReorganizeTableTimeLimit).|
The value 0 means periodic reorganization will not be performed.
Note: Periodic reorganization is influenced by start parameters /DBCA, /DBCY, /DBCP and /DBCA in the same way as normal automatic reorganization.
|The parameters defines the conditions for the process D2000 Archiv to perform automatic reorganization of the archive database. The parameter ReorganizeTableRowLimit defines the number of deleted rows and the parameter ReorganizeTableTimeLimit specifies the number of hours. (e.g. ReorganizeTableRowLimit=50000 and ReorganizeTableRowLimit=24 --> the archive table is to be automatically reorganized after 50000 values of the archive table are deleted but not more often than once in 24 hours).|
Warning: The parameters can be only used for archive on Oracle, PostgreSQL and Sybase 9.0 and higher platforms.
|SelectBeforeUI||If the value of the parameter is 1, a Select is performed before Insert/Update to find out whether a value with specific timestamp is already in a database. If it is, Update is performed; otherwise Insert is performed. When using this parameter it is necessary to turn on the IsochronousCache parameter and set the parameter RecalcImmediateDepth to 0.|
Default value of this parameter is 0.
Note: parameter can be used for archives using PgSql database to minimize transaction ID (XID) generation when used against a DSN with "Level of rollback on errors" set to Transaction.
Note: for PgSql starting with version 9.5 it is possible to use parameter Upsert to minimize XID generation.
Note: the utility arcsynchro has a parameter /UF serving the same purpose.
|Tablespace_Name||Configuration parameter for the archive database on Oracle platform - defines the name of archive tablespace. If this parameter is empty, the name APPLICATION_NAME_TS_ARCHIV is used. If the name is wrong, the process D2000 Archiv will not report the information about archive tablespace in system structure SV._System_ArchivPerformance (columns DatabaseSize, AutoExtensible, FreeSpace, DataSize).|
Note: The parameter Tablespace_Name can be changed via TELL command SET_OPTION Tablespace_Name name_of_tablespace.
|TNS_Service_Name||Configuration parameter for the archive database on Oracle platform - defines TNS of the database the archive tablespace is in.|
|TNS_Service_Name_Trezor||Configuration parameter for depository databases on Oracle platform - more information.|
|Trezor_Active_Only||Configuration parameter for depository databases on Oracle platform - more information|
|TrezorCompressPath||Configuration parameter for depository databases:|
|TrezorCompressOffline||Configuration parameter for depository databases:|
|TrezorCompressTime||Configuration parameter for depository databases:|
|TrezorCountDatafiles||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorCountSegments||Configuration parameter for depository databases:|
|TrezorDatafileSizeStep||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorDatafileSuffix||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorMaxDatafileSize||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorNologging||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorPath||Configuration parameter for depository databases:|
|TrezorPostCompressCmd||Configuration parameter for depository databases:|
|TrezorPostCompressPar||Configuration parameter for depository databases:|
|Configuration parameter for depository databases:|
|TrezorPrefix||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorReadOnlyTimeout||Configuration parameter for depository databases on Oracle platform - more information.|
|TrezorStartDatafileSize||Configuration parameter for depository databases on Oracle platform - more information.|
|Upsert||Setting the parameter to value 1 activates usage of SQL command "UPSERT" (combination of Insert and Update SQL commands), which is supported by PostgreSql database starting with version 9.5. In this case insertion of values into archive and depository databases will be performed by command INSERT .. ON CONFLICT .. DO UPDATE. This enables to set archive ODBC parameter "Level of rollback on errors" to value Transaction (instead of current standard setting Statement). That radically decreases generation of XIDs (database transaction IDs related to existence of savepoints separating every single SQL statement) and consequently reduces related overhead of PostgreSQL (frequent vacuuming to avoid "transaction ID wraparound").|
Note: for versions of PgSql older than 9.5 it is possible to use parameter SelectBeforeUI to minimize XID generation.
Note: the utility arcsynchro has a parameter /UP serving the same purpose.
|An hour marking the beginning and the end of working hours. During this time, time-consuming archive operations are minimized to increase the availability of the archive.|
It is possible to enter not only the standard working day (e.g. WorkingHoursStart=6, WorkingHoursEnd=18) but also the day covering midnight (e.g. WorkingHoursStart=14, WorkingHoursEnd=5 or WorkingHoursEnd=29). The default values 0 of both parameters turn off the working hours functionality.
Note: Parameters affect periodic deletion and reorganization on all database platforms, as well as detection of free space in archive tablespace on Oracle platform.
Note: WorkingHoursStart and WorkingHoursEnd can be changed via TELL command SET_OPTION.
|WriteThreadsCount||Number of threads used for parallel writing of the values to the database. Possible values 1...10. Default value is 1. Value greater than 1 requires licence for "High Performance Archive" pack. Parameter is implemented starting with the version 8.00.011. For archives with heavy load running on the Oracle database we recommend you to set this value equal to number of processors (respectively cores of processors) of the archive server. For archives using the Sybase database no significant improvements have been observed when writing was parallelised.|
Note: To change a parameter, select the parameter in the right part of the window and press Enter, or double-click the parameter.