Previous
Topic:
Nucleus.ini file Parameters - Database Sections |
Next
Topic: Nucleus.ini file Parameters - Client Section |
Nucleus.ini file Parameters
A CONNECTION section contains the port number and host name used to connect to a database instance. It can also contain various other system parameters relating to nserv operations for the connection (note that these are usually left as the SAND CDBMS default values, and so generally do not appear in the nucleus.ini file).
Server-side nucleus.ini file should contain a CONNECTION section for each database instance that will be running concurrently on the same host machine (since each instance requires its own port number). Any number of non-concurrent database instances may use the same connection.
CONNECTION sections in client-side nucleus.ini files specify port numbers and host names for connection to database instances running on remote servers.
For added security, automated encryption of all communication between client and server can be enabled via the SSL parameter.
The format for the section header is [CONNECTION connection-name], where connection-name can be any string of 31 characters or less. The connection name will be specified when starting or connecting to a database instance on the specified host using the specified port, in the following manner:
nserv connection-name instance-name
nisqlm connection-name instance-name user-name[/user-password ]
ndlm connection-name instance-name user-name[/user-password ] load-spec-file
ParametersPort
The operating system port to be used for connection to the database instance. Each concurrently-running database instance must have its own port number.The port number must be between 1024 and 65,535.
Default: 5001
Host
The host name or IP address of the computer on which the database instance is running.Default: current host name
Sample Basic CONNECTION section[CONNECTION server1_db1]
Port=8001
Host=server1
Optional Parameters to Set nserv Engine Properties for the Connection
Note:
In normal circumstances, these settings can be left as the system defaults (that is, an entry in the nucleus.ini file is not required).
AlterDivision
Alters the handling of divide-by-zero errors produced within client sessions.Possible values:
1 Divide-by-zero errors are intercepted; null values are returned instead 0 Divide-by-zero errors are returned (default) Note:
To enable the interception of divide-by-zero errors from within a client session, use the SQL command ALTER SESSION ALTER DIVISION.
IntegerDivisionScale
Sets the scale for the results of integer division. By default, if a division operation contains an INTEGER, SMALLINT, or UNSIGNED value as the divisor and dividend, the resulting value is an integer, and any decimal portion of the result is truncated. When the IntegerDivisionScale parameter is set to a positive number, integer division will instead return a value rounded to the specified number of decimal places.Default: 0
Minimum: 0
Maximum: 50The IntegerDivisionScale parameter must be set to a non-negative integer number n, where n is the number of decimal places that will be returned by integer division. For instance, IntegerDivisionScale=1 means that results have one decimal place, IntegerDivisionScale=2 means two decimal places, and so on to a maximum of 50 decimal places. However, for large IntegerDivisionScale values, the actual maximum scale depends on the number being divided. For A divided by B:
- If A is SMALLINT, then an IntegerDivisionScale value of 45 to 50 yields a result with a maximum of 45 decimal places.
- If A is INTEGER, then an IntegerDivisionScale value of 40 to 50 yields a result with a maximum of 40 decimal places.
- If A is UNSIGNED, then an IntegerDivisionScale value of 31 to 50 yields a result with a maximum of 31 decimal places.
Example:
[Connection cn1]
Port=50501
Host=nucleus3
IntegerDivisionScale=3Integer division in the context of a database started on Connection cn1 will return values rounded to three decimal places:
SELECT 5/3 FROM x;
1 row selected
1
----------
1.667
1 row fetchedSELECT 2/2 FROM x;
1 rows selected
1
----------
1.000
1 row fetched
JoinLimit
The maximum size (in rows) of an intermediate join result table. All sessions default to this intermediate join limit for the server that uses this connection.Note that the JoinLimit value can be overrided for the duration of a session by the ALTER SESSION SET JOINLIMIT command.
Default: 500000000000 (500 billion)
Minimum: 16384
Maximum: 500000000000 (500 billion)
MaxQueries
The maximum number of open queries allowed for each client using the connection.Default: 128
Minimum: 32
Maximum: 32767
MaxUsers
The maximum number of clients that may use the connection concurrently (including multiple sessions per client).Default: 10
Minimum: 1
Maximum: 127
Security
Enables or disables server-side enforcement of security on the connection. When Security is enforced, encryption must be applied to connection requests from client applications.Possible values:
1 Security is enforced (default) 0 Security is not enforced
SQLTmpPath
The directory where the nserv program is to write temporary SQL files.Default: current directory (the directory in which the instance is started)
Maximum path length: 128 charactersSSL
Enables or disables AES-256 encryption of all client-server communication, using Secure Sockets Layer (SSL) protocols. This parameter can be enabled on either the client side, server side, or both. If one side requests SSL communication, the other side will respond in kind unless it does not support SSL (in which case an error will be returned).Possible values:
1
Encryption is enabled0
Encryption is disabled (default)Note that the SAND SSL implementation requires the manual installation of two library files (SSL/TLS and Crypto), except on Linux systems, which should already have them. These library files can be downloaded through the OpenSSL Project:
Stack
The size (in bytes) allocated for the stack of an engine thread.Default: 4194304 (4 MB)
Minimum: 1048576 (1 MB)
Maximum: 2147483647 (2048 MB)
ThreadLimit
The maximum number of concurrent engine threads.Default: calculated based on the MaxUsers value (MaxUsers/4 + 1)
Maximum: must be less than or equal to the MaxUsers value, otherwise the default is used
Sample Full CONNECTION Section:
[CONNECTION server1_db1]
Port=50501
Host=server1SQLTmpPath=/usr/sand/temp
Security=1
Stack=1024000
ThreadLimit=10
MaxUsers=16
MaxQueries=32
IntegerDivisionScale=3
Previous
Topic:
Nucleus.ini file Parameters - Database Sections |
Next
Topic: Nucleus.ini file Parameters - Client Section |