SAND CDBMS Administration Guide
The Nucleus.ini File

 

Previous Topic:
Nucleus.ini file Parameters - Database Sections
Chapter Index
Next Topic:
Nucleus.ini file Parameters - Client Section

 

Nucleus.ini file Parameters


CONNECTION Sections

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


Parameters

Port
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: 50

The 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:

Example:

[Connection cn1]
Port=50501
Host=nucleus3
IntegerDivisionScale=3

Integer 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 fetched

SELECT 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 characters

SSL
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 enabled

0
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:

http://www.openssl.org


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=server1

SQLTmpPath=/usr/sand/temp
Security=1
Stack=1024000
ThreadLimit=10
MaxUsers=16
MaxQueries=32

IntegerDivisionScale=3

 

Previous Topic:
Nucleus.ini file Parameters - Database Sections
Chapter Index
Next Topic:
Nucleus.ini file Parameters - Client Section