Database Configuration Parameters
A number of configuration parameters are defined in a configuration file held in each database tree. The file is called:
database-name/configs/config
The config file can be edited by the database owner, provided that no-one is logged on to the database. The configuration parameters for a database are read when the database daemon starts up. To implement changes to an active database, therefore, all users must be logged off and the database server terminated using killreal -d.
There is a master configuration file in the directory . This file contains standard settings which are copied to each database when it is created. You may wish to change some parameters, for example tape configuration, in the master configuration file. /files
Configuration parameter are listed below, in alphabetical order, together with example settings and, where applicable, default settings.
Note
Some of the settings in this file can be overridden by host environment variables.
If set to Y, specifies that, if the reality command has been run with the -U option, logging off a user from another port with the LOGOFF command will return them to the Logon please:
prompt instead of to the host command prompt. On Windows, this applies only when running Reality from the command prompt.
Default: N
This is a bit-significant numeric field that controls what appears in Audit logs. The bits have the following meanings:
Bit |
Decimal value |
Function |
---|---|---|
0 |
1 |
Log Proc, RPL, SQL and TCL macro commands, and DataBasic performs and executes in addition to TCL commands. |
1 |
2 |
Add a time stamp to the log. |
2 |
4 |
If set, log times to the nearest millisecond (for example, 10:28:49.483); otherwise, log to the nearest second. Note The accuracy of the time is dependent on the granularity of the underlying operating system time. |
3 |
8 |
Add a date stamp to the log. |
4 |
16 |
Add a character to show the context (TCL, Proc, etc.) to each log entry and a key to the context characters used (see TCL.LOG File). |
5 |
32 |
Log calls to DataBasic external subroutines and functions (see Note 2). |
6 |
64 |
Log returns from DataBasic external subroutines and functions (see Note 2). |
7 |
128 |
Add a user-defined attribute, set with the DataBasic SYSTEM(109) or ASSIGN statement, to the log. |
Note
-
Bit 0 is the least significant bit.
-
DataBasic external subroutine and function calls and returns are only included if the LOG.BASIC environment option is also set.
-
It is recommended that, if DataBasic external subroutine and function calls and returns are enabled, a maximum log size is also set (see SizeTclLog option).
Default: 10 (00001010); that is:
-
TCL commands only.
-
Add time stamp.
-
Time stamps to nearest second.
-
Add date stamp.
-
No key to context characters.
-
No DataBasic calls.
-
No DataBasic returns.
-
No user-defined attribute.
If set to Y
, specifies that new files and those restored from a logical save will use automatic file sizing by default.
Note
This parameter is set to Y
in the master configuration file, so that automatic file sizing will be used on new databases. For an existing database, you will need to set it in the database configuration file.
Default: N
If set to 1, specifies that the SYSTEM dictionary has case-insensitive item-ids. Has no effect unless IIDCaseControl is also set.
Default: 0
Note
mkdbase menu options allow you to set this parameter when you create a database.
If set to any value other than Y
, prevents the database's temporary directory being cleared when the database daemon is started.
Default: Y
CompressTapeImage
specifies the default compression level for tape images created from this database. It must be set to a number from 0 to 9, where 0 is no compression (fastest) and 9 is maximum compression (slowest). The recommended compression level, optimising compression and performance, is 2.
Default: 0
The DataCaseControl
parameter specifies whether users and applications are allowed to select data case insensitivity on this database. If set to 1, data case insensitivity can be selected; otherwise, it cannot. The default is 0 (cannot be selected).
See Case Sensitivity for more details.
DateFormat
defines the default format in which the day's date is represented when processed by relevant English conversions and by DataBasic ICONV or OCONV statements that use these conversions. This default format can be overridden for the duration of a Reality logon session by use of the TCL command DATE-FORMAT. Possible values are:
Standard Displays mm/dd/yy
International Displays dd/mm/yy
Default: International
Example: DateFormat=Standard
Setting DbStart
specifies that a database start-up Proc should be run automatically each time the database is started. The Proc can be run in either parallel or exclusive mode, depending on the value of the DbStart
parameter:
0Do not run the database start-up Proc.
1Parallel mode. The database start-up Proc runs in parallel with any connections to the database.
Parallel mode can be used for starting just despoolers and TIPHs.
2Exclusive mode. The first connection to the database is rejected and logons are inhibited while the database start-up Proc runs (connections are rejected with the error message <49018>: Start up proc in progress). When the Proc completes logons are enabled automatically.
In exclusive mode, the database start-up Proc has exclusive access to the database. You should select this mode if the Proc has to clear error logs (for example) before allowing users to log on.
Default: 0
Windows onlySpecifies the default printer type for SYS printers on Windows. Possible values are:
raw The print data is either passed directly to the printer without processing or via a Printer Independence translation table.
winprinter The print data is routed via the Windows GDI (Graphical Device Interface). This is a high level printer-independent interface that translates the print data into a graphical format that can be printed without further processing by the printer. Use this option with printers designed to work with the Windows GDI.
The printer type can also be specified when you set up the despooler.
On UNIX hosts, this parameter is ignored.
Example: DefaultSystemPrinterType=raw
Default: raw
The level of file whose closure will be deferred (only normally required on filestore databases) - one of the following values:
0 Disable deferred close.
1 Defer MDs.
2 Defer MDs & DICTs.
3 Defer MDs, DICTs & DATA sections.
Default: 2
The maximum number of files whose closure may be deferred. Only normally used on filestore databases.
Default: 30
Setting ForceFreeSpaceUpd
specifies that every block in the database should be marked as free or in use (the default is to mark only the first block of each contiguous set of blocks). Selecting this option makes the free space check option (-f) available on the realdbck utility, but can reduce performance in normal use.
You can also select this configuration option by setting the host environment variable RFSSETFREE. This overrides any ForceFreeSpaceUpd
settings.
You should only set this option if directed by NEC Software Solutions support staff.
Default: 0
UNIX onlyControls whether Reality prompts for a password if the Unix and Reality user-ids are the same:
1 Reality always prompts for a password.
0 Reality does not prompt for a password if the Unix and Reality user-ids are the same.
Default: 0
Specifies the default frame size in kilobytes (1, 2, 4 or 8) used when creating a database. Only valid in the master configuration file; ignored if set in the database configuration file.
It is recommended that, when migrating from another MultiValue system, you should set this parameter to the frame size of the original database.
Example: FrameSize=4
Default: 1
Specifies the location of a file or partition to be used for checkpointing when backing up with
Example: CheckpointPath=/users/realman/checkpoints
Default: Not set
HashType
specifies the hashing algorithm used by Reality. Possible values are:
1 Use a hashing algorithm that is compatible with earlier versions of Reality (earlier than V8.1) and other MultiValue systems.
2 Use a hashing algorithm that can better handle item IDs longer than 28 characters.
Note
-
The default hashing algorithm can be set in the master configuration file.
-
mkdbase options allow you to set this parameter when you create or rebuild a database.
-
Changing this parameter only has an effect the next time a database is remade (with mkdbase -r). It does not change the hash type of an existing database.
Default: If this parameter is not set, the hashing algorithm defaults to type 1. However, all new databases are created with HashType
equal to 2.
The IDateWindow
parameter is a number, in the range 00 to 99, which identifies a year between 1900 and 1999 when a 100-year date window starts, and therefore whether a two-digit year value refers to this or the previous century. For example, specifying a value of 78 sets a date window of 1978-2077. The default is 30, for a date window of 1930-2029.
The date window can be overridden for the duration of a Reality logon session by using the TCL command IDATE-WINDOW.
The IIDCaseControl
parameter specifies whether users and applications are allowed to create case-insensitive files on this database. If set to 1, case-insensitive files can be created; otherwise, they cannot. The default is 0 (case-sensitive only).
Note
Changing this parameter only has an effect the next time a database is remade (with mkdbase -r). It does not change the case-insensitivity of an existing database.
See Case Sensitivity for more details.
ItemLockTimeOut
defines the length of time in seconds after which an Item Deadlock warning message is sent to the terminal screen and server log.
ItemLockTimeOut=0
specifies the default of 30 seconds.
ItemLockTimeOut=1
disables deadlock detection.
Example: ItemLockTimeOut=15
Default: 30 seconds.
The KeyCaseControl
parameter specifies whether users and applications are allowed to select keyword case-insensitivity on this database. If set to 1, keyword case insensitivity can be selected; otherwise, it cannot. The default is 0 (cannot be selected).
See Case Sensitivity for more details.
ListAllItemLocks
specifies whether an item locks special file created with MAKE-SPECIAL should list all item locks or only those that are in contention.
-
ListAllItemLocks=1
specifies that all locks should be listed. -
ListAllItemLocks=0
specifies that only locks that are in contention should be listed.
Caution
This parameter should be used with caution, because each time the item locks special file is listed it will activate every port on the system. On systems with large numbers of users, this could adversely affect performance.
You can also select this configuration option by setting the host environment variable REALLISTALLLOCKS. This overrides any ListAllItemLocks
settings.
Default: 0 (list only locks that are in contention).
MaxPortNum
defines the maximum number of 'real ports' which may connect to this database. A 'real port' is one which made its connection to the host system using the Annex CALL protocol, or which has a dedicated terminal line. Such ports are always allocated the same UNIX device name or Windows device id. Reality maps such device names, in a fixed way, to Reality port numbers.
If set, specifies that a single RELEASE operation will unlock an item that has been locked multiple times.
Note that, unless RosStyleItemLocks has been explicitly cleared, setting this parameter also sets RosStyleItemLocks.
You can also select this configuration option by setting the host environment variable MVSTYLEITEMLOCKS.
UNIX only
The maximum number of times that the npu printer utility will delay before each retry to connect to your network printer.
This should have a value between 1 and 60.
UNIX only
The maximum number of times that the npu printer utility will retry to connect to your network printer.
If set to -1 it will retry forever.
NumConnections
defines the maximum number of connections that may be active on this database at any one time.
NumDataSects
specifies the maximum number of concurrently open data sections.
Caution
Ensure that NumDataSects
is large enough to support the total number of files concurrently opened by all applications on the database. Exceeding the NumDataSects
limit may cause unexpected results.
The relatively small default number of NumDataSects
is to cater for older systems that have limited physical memory. It can be set to a much larger value such as 2000 or 3000 if required.
Example: NumDataSects=300
Default: 800
NumIndexSects
specifies the maximum number of concurrently open index sections.
NumItemLocks
defines the maximum number of item locks that can be held on this database at any one time.
NumPseudoPorts
defines the number of 'pseudo ports' which may connect to this database. A 'pseudo port' is one which made its connection to the host dynamically, for instance by using the rlogin or telnet protocols or via some form of network server. Pseudo ports are also used for TIPHs (terminal independent process handlers). Pseudo ports are allocated device names dynamically. Reality maps such device names to the next available pseudo port.
Before Reality V15.2, the PasswordLength
parameter specified the minimum length of any user password. Now this parameter has been superseded by the Min password length
attribute of the user's password definition as specified by SSM Option 2 - Define User Profiles. This minimum length is enforced whenever a password is changed by the PASSWORD command or by using SSM.
Note
On upgrading from a previous version, the current value of PasswordLength
(if any) is used to set the Min password length
attribute of the DEFAULT user password definition.
UNIX onlyEnables the use of session licences on SSH connections (that is, more than one connection per licence):
Y Reality generates a PLId based on the TCP/IP address of the peer, with the format:
INET-IPaddress-TTY
For example: INET-172.16.100.72-TTY
N Reality generates a PLId based on the Reality serial number.
Default: N
PortRange
specifies whether a reality process or a TIPH should be allowed to log on using one of a range of ports specified in the devices file with the OPEN and RANGE keywords.
y or YAllow log on using one of a range of ports.
Any other value Do not allow log on using one of a range of ports.
Default: n
RealDbCk
specifies the action to take at startup if the database was not shut down properly, as follows:
0 If the database was not shut down cleanly, the connection is rejected and the database is locked. The administrator will need to run realdbck to check and, optionally, clean the database, or the database will need to be rebuilt.
1 If the database was not shut down cleanly, the connection is rejected and realdbck is run automatically to check the database. If no errors are found connections are enabled; otherwise, the database is locked.
2 If the database was not shut down cleanly, the connection is rejected and realdbck is run automatically to check the database. When realdbck completes, connections are enabled, whether or not any errors were found.
Note
If the database check fails, continuing to use the database may result in unrecoverable data corruption.
3 If the database was not shut down cleanly, a message is logged to that effect, but realdbck is not run. The connection is allowed.
Note
If the database was not down cleanly, continuing to use the database may result in unrecoverable data corruption.
Connection is always allowed if the database was shut down cleanly.
Note
While realdbck is running, all connections are rejected with the message <30029>: Database check in progress - please wait (nn%)
.
Default: 0
By default, a despooler checks every 5 seconds to see if there is a job to be printed. This time can be changed by setting this parameter to the required number of seconds.
Note
The REALIDLEDESPOOLERSLEEP environment variable setting overrides this configuration parameter.
Example: RealIdleDespoolerSleep=2
Default: 5
If set, specifies that item locks are replicated if you copy the contents of a file variable to another variable. Note that the resulting locks must be separately released; releasing a lock on one file variable does not release that on the other.
You can also select this configuration option by setting the host environment variable REPLICATEITEMLOCKS.
If set, specifies that item locks should be held separately from any file variable; as a result, closing a file will not release any item locks.
You can also select this configuration option by setting the host environment variable ROSSTYLEITEMLOCKS.
Shared cataloged programs are held in a hashed table, with default modulo 101. To use a different modulo, set ShareModulo = m
, where m
is the modulo to use. A larger modulo may be required if an application has a large number of programs.
ShareSize
defines the number of kilobytes of memory to be allocated for sharing programs.
Default:
8000
Remarks: To calculate ShareSize
, use English to determine the total size of cataloged programs for the application and divide the result by 10.
For example, if all programs were cataloged from account APP, the total size of cataloged programs is found using:
LIST POINTER-FILE WITH PF-TYPE "C" AND WITH PF-ACCT "APP" TOTAL *A9999 DET-SUPP
This gives the maximum size of memory that could ever be shared by cataloged programs from APP. In practice, the amount of memory required will only be a fraction of this. It is therefore recommended that, to determine the required size, you divide the total derived from the LIST calculation by 10 KB (10240) and use this result as starting point to define ShareSize
.
If the value of ShareSize
is too small, a warning message of the form:
WARNING shmbas: x alloc fails in ys
will be displayed at 3 minute intervals. In which case, increase ShareSize
, until periodic warning messages are stopped.
To disable sharing, set ShareSize
to 0.
shmsz
is no longer a user definable parameter; it is now calculated.
The maximum size in bytes of the Audit and Support logs. When this size is exceeded the logs automatically switch:
-
If an Audit log is active, it is closed and a new one is created using the current date and time (the time may be specified in milliseconds to ensure that the log has a unique name).
-
If a Support log is active, it is copied to the previous log and a new active log is started.
Refer to Logging Reports for details of how these items are stored.
If SizeTclLog is set to 0, there is no size limit and the logs do not switch automatically.
See also TimeTclLog.
Default: Maximum user memory (normally 256Mb) - 1024.
SkipLogonProc
specifies whether a reality process or a TIPH should be allowed to suppress running the logon control program.
y or YAllow suppression of the logon control program.
Any other value Do not allow suppression of the logon control program.
Default: n
This is a bit-significant numeric field that controls what appears in Support logs. The bits have the following meanings:
Bit |
Decimal value |
Function |
---|---|---|
0 |
1 |
Log Proc, RPL, SQL and TCL macro commands, and DataBasic performs and executes in addition to TCL commands. |
1 |
2 |
Add a time stamp to the log. |
2 |
4 |
If set, log times to the nearest millisecond (for example, 10:28:49.483); otherwise, log to the nearest second. Note The accuracy of the time is dependent on the granularity of the underlying operating system time. |
3 |
8 |
Add a date stamp to the log. |
4 |
16 |
Add a character to show the context (TCL, Proc, etc.) to each log entry and a key to the context characters used (see TCL.LOG File). |
5 |
32 |
Log calls to DataBasic external subroutines and functions (see Note 2). |
6 |
64 |
Log returns from DataBasic external subroutines and functions (see Note 2). |
7 |
128 |
Add a user-defined attribute, set with the DataBasic SYSTEM(109) or ASSIGN statement, to the log. |
Note
-
Bit 0 is the least significant bit.
-
DataBasic external subroutine and function calls and returns are only included if the LOG.BASIC environment option is also set.
-
It is recommended that, if DataBasic external subroutine and function calls and returns are enabled, a maximum log size is also set (see SizeTclLog option).
Default: 17 (00010001); that is:
-
Log performs and Proc, RPL, SQL and TCL macro commands in addition to TCL commands.
-
No time stamp.
-
Time stamps to nearest second.
-
No date stamp.
-
Add a command type key.
-
No DataBasic calls.
-
No DataBasic returns.
-
No user-defined attribute.
SuppressPasswordLogging
is set for a FailSafe primary database to disable the logging and propagation of updated passwords to the secondary system.
Example: SuppressPasswordLogging=1 (Logging Disabled)
Default: Logging and Propagation Enabled
See Tape Definitions.
See Tape Definitions.
Specifies the location of the database's temporary directory - this is used to hold temporary files used during database operation. For partition databases, it is recommended that the file system containing the temporary directory should have free space about 10% of the size of the database available.
Example: TempDir=/user0/tmp
Default: If TempDir
is not set, the temporary directory is a subdirectory of the database's top or root directory (see Database Directory).
The time, in internal format (that is, the number of minutes past midnight), at which the Audit and Support logs automatically switch:
-
If an Audit log is active, it is closed and a new one is created using the current date and time.
-
If a Support log is active, it is copied to the previous log and a new active log is started.
Refer to Logging Reports for details of how these items are stored.
If TimeTclLog is less than 0 or greater than 1439 (23:59), the logs do not switch automatically.
See also SizeTclLog.
Default: -1 (disabled)
Specifies the MultiValue system emulated by the database. This is used in the SYS-LOAD Proc to set the appropriate operating environment.
If set in the master database configuration file, VendorEmulation sets the default value for this mkdbase menu option.
VendorEmulation can be set to the following values:
Value |
Emulation |
---|---|
Reality |
0 (Default) |
MVBase |
5 |
mvEnterprise |
6 |
D3 |
33 |
Note
An invalid value will prevent you using mkdbase.
You can find out the current setting from DataBasic or Proc with the SYSTEM(102) function.