Session Properties#
Session-related properties define the rules for communication between clients and the database server when Altibase is run in a client-server configuration. They are as follows:
CM_DISCONN_DETECT_TIME (Unit: second)#
Data Type#
Unsigned Integer
Default Value#
3
Attributes#
Read-Only, Single Value
Range#
[1, 232-1]
Description#
Altibase server provides a session management thread for checking whether the connection between a client and a server has been interrupted. This property specifies the interval, in seconds, at which the session management thread operates.
Usually, when a client process is abnormally terminated, the server to which the client is connected can immediately detect this.
However, when a session has an unfinished task, and furthermore if the task is an internal Altibase server operation that is not directly related to the client session, and it is taking a long time, the server cannot check whether the client has terminated abnormally. That is to say, because the server cannot check whether the connection with the client has ended abnormally, such abnormal termination would be disregarded and Altibase would continue to process the task.
Such sessions must be detected, and the corresponding transactions must be rolled back. For this purpose, the session management thread regularly checks the status of all sessions.
CONCURRENT_EXEC_DEGREE_DEFAULT#
Data Type#
Unsigned Integer
Default Value#
4
Attributes#
Read-Write, Single Value
Range#
[2, 1024]
Description#
CONCURRENT_EXEC_DEGREE_DEFAULT specifies for each session, the number of procedures in the DBMS_CONCURRENT_EXEC package that are allowed to execute in parallel concurrently. If the number of procedures to be executed in parallel is omitted, the CONCURRENT_EXEC_DEGREE_DEFAULT value is applied.
Altibase does not allow a stored package to execute more procedures than the value set for the CONCURRENT_EXEC_DEGREE_MAX property.
The value of this property can be changed with the ALTER SYSTEM statement while Altibase is running.
CONCURRENT_EXEC_DEGREE_MAX#
Data Type#
Unsigned Integer
Default Value#
The number of logical cores
Attributes#
Read-Only, Single Value
Range#
[0, 1024]
Description#
CONCURRENT_EXEC_DEGREE_MAX specifies the maximum number of procedures in the DBMS_CONCURRENT_EXEC package that are allowed to execute in parallel.
If this value is set to 0, the DBMS_CONCURRENT_EXEC package cannot be executed.
The value of this property can be changed with the ALTER SYSTEM statement while Altibase is running.
CONCURRENT_EXEC_WAIT_INTERVAL#
Data Type#
Unsigned Integer
Default Value#
100
Attributes#
Read-Write, Single Value
Range#
[10, 1000000]
Description#
CONCURRENT_EXEC_WAIT_INTERVAL specifies the interval to wait before checking whether a procedure in the DBMS_CONCURRENT_EXEC package has executed successfully.
The value of this property affects the REQUEST and WAIT_REQ functions. These functions wait for the procedure to finish execution.
The value of this property can be changed with the ALTER SYSTEM statement while Altibase is running.
DEFAULT_THREAD_STACK_SIZE (Unit: byte)#
Data Type#
Unsigned Integer
Default#
10485760 (10MB)
Attributes#
Read-Only, Single Value
Range#
[1048576, 134217728]
Description#
This property specifies the stack size, in bytes, for all system threads other than service threads.
IPC_CHANNEL_COUNT#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Only, Single Value
Range#
[0, 65535]
Description#
This property, which specifies the maximum number of IPC communication channels between a client and an Altibase server, must be set. Because shared memory and semaphore(s) are allocated in proportion to the channel count, it is important to set the maximum number of IPC connections that can be simultaneously established with the server.
IPC_FILEPATH#
Data Type#
String
Default Value#
$ALTIBASE_HOME/trc/cm-ipc
Attributes#
Read-Only, Single Value
Range#
None
Description#
This is a socket file created for Altibase server to connect with the client through IPC in the UNIX environment.
If the server starts, a socket file is created under $ALTIBASE_HOME/trc/cm-ipc directory, and be careful not to delete this file.
IPCDA_CHANNEL_COUNT#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Only, Single Value
Range#
[0, 65535]
Description#
The maximum number of communication channels using IPCDA between the client and server is specified with this property.
This property specifies the maximum number of IPCDA which can concurrently connect to the server plays an important role since shared memory and semaphores are proportionally allocated to the number of IPCDA channels. The optimized number of IPCDA channels should be half value of the number of CPU cores.
IPCDA_DATABLOCK_SIZE (Unit: KB)#
Data Type#
Unsigned Integer
Default Value#
20480
Attributes#
Read-Only, Single Value
Range#
[32, 102400]
Description#
This is a property specifying the size of shared memory in a communication channel using IPCDA. If the value is 1000, and IPCDA_CHANNEL_COUNT is 24, the entire memory size (IPCDA_CHANNEL_COUNT * IPCDA_DATABLOCK_SIZE) used for the communication channel in server is 1000KB * 24 = 24000KB.
The value should be properly specified in order not to interrupt the operation of other programs using shared memory depending on the system size. For example, If IPCDA_CHANNEL_COUNT is 24 in 4GB system memory, the maximum value of IPCDA_DATABLOCK_SIZE cannot be used because the actual memory to use is 2457600KB.
IPCDA_FILEPATH#
Data Type#
String
DEfault Value#
$ALTIBASE_HOME/trc/cm-ipcda
Attributes#
Read-Only, Multiple Value
Range#
None
Description#
This is a socket file created for Altibase server to connect with the client through IPCDA in the UNIX environment.
If the server starts, a socket file is created under $ALTIBASE_HOME/trc/cm-ipcda directory, and be careful not to delete this file.
MAX_LISTEN#
Data Type#
Unsigned Integer
Default Value#
128
Attributes#
Read-Only, Single Value
Range#
[0, 16384]
Description#
This property specifies the maximum size of the "listen queue" when TCP/IP or UNIX domain protocol is used for communication between a client and Altibase.
MAX_STATEMENTS_PER_SESSION#
Data Type#
Unsigned Integer
Default#
1024
Attributes#
Read-Write, Single Value
Range#
[1, 65535]
Description#
This property specifies the maximum number of statements that can be executed in a session.
This property value can be modified with the ALTER SESSION or ALTER SYSTEM statement while Altibase is running.
NET_CONN_IP_STACK#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Only, Single Value
Range#
[0, 1, 2]
Description#
This property specifies the Internet Protocol Stack to be used when creating sockets on the server side for communication between the client and the server via TCP/IP.
0: An Internet Protocol Stack supporting only IPv4 will be used.
1: A dual stack (Internet Protocol Stack supporting both IPv4 and IPv6) will be used.
2: An Internet Protocol Stack supporting only IPv6 will be used.
NLS_COMP#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Only, Single Value
Range#
[0, 1]
Description#
When a database is created, it cannot be guaranteed that the sequence of characters in the character set specified by NLS_USE is the same as in a dictionary for the language of the country in question.
If this property is set to 1, character comparisons are performed based on the order in which the words in that language appear in a dictionary. If this property is set to 0, character comparisons are performed based on the binary values of the characters.
This is supported only when the database character set is set to Korean (KSC-5601 complete and MS extended complete) because the system currently supports Korean only.
NLS_CURRENCY#
Data Type#
String
Default Value#
Determined by the value of NLS_TERRITORY
Attributes#
Read-Write, Single Value
Range#
Character string, maximum 10 bytes
Description#
This property specifies the currency symbol. The value for this property is used to display the local currency symbol with the L number format. This property value cannot begin with +, -, <, > signs.
While Altibase is running, this property value can be modified with the ALTER SESSION statement as below:
ALTER SESSION SET NLS_CURRENCY = '$';
Note: In order to display the Arabic currency symbol properly, the client application program(or shell/editor) must support the display of Arabic characters.
NLS_ISO_CURRENCY#
Data Type#
String
Default Value#
Determined by the value of NLS_TERRITORY.
Attributes#
Read-Write, Single Value
Range#
Value that exists in the V$NLS_TERRITORY performance view.
Description#
This property specifies the ISO currency symbol. The value of this property is used with the C number format to display the international currency symbol. The value of this property is limited to the value(territory) that exists in the V$NLS_TERRITORY performance view.
While Altibase is running, this property value can be modified with the ALTER SESSION statement as below:
ALTER SESSION SET NLS_ISO_CURRENCY = America;
NLS_NCHAR_CONV_EXCP#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Write, Single Value
Range#
[0, 1]
Description#
When NCHAR type data are converted to another character set, data loss can occur. In such cases, this property determines whether to raise an error or to continue converting the data despite the possibility of data loss.
This property raises an error only when data conversion is performed on the server; it doesn't apply to conversion performed on clients.
This property can be changed using the ALTER SESSION statement while Altibase is running.
0: FALSE (Do not raise an error.)
1: TRUE
NLS_NCHAR_LITERAL_REPLACE#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Write, Single Value
Range#
[0, 1]
Description#
By default, clients convert an entire query string to the database character set before sending the data to the database. This behavior can be prevented for a given string literal by setting this property to 1 and placing the "N" character in front of the string literal.
A property setting of 1 instructs the client to search for the "N" character in front of every string literal. If the "N" character is found, the client sends the string to the database without converting it to the database character set. This is useful when it is desired to use NCHAR type data that are encoded differently from the database character set.
This property can be changed using the ALTER SESSION statement while Altibase is running.
0: convert all strings to the database character set without checking for the "N" character
1: do not convert strings that are preceded by the "N" character to the database character set
Note: Setting this property to 1 can be expensive in terms of usage of client resources.
NLS_NUMERIC_CHARACTERS#
Data Type#
String
Default Value#
Determined by the value of NLS_TERRITORY.
Attributes#
Read-Write, Single Value
Range#
None
Description#
This property specifies the decimal character and the group separator. The group separator is used to display numbers in thousands and generally uses a comma(,). The decimal character generally uses a period(.).This property value cannot begin with +, -, <, > signs.
Of a character string specified for this property, only the first two characters are set as decimal characters; the group separator and the rest are ignored.
While Altibase is running, this property value can be modified with the ALTER SESSION statement as below:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,';
NLS_TERRITORY#
Data Type#
String
Default Value#
KOREA
Attributes#
Read-Write, Single Value
Range#
Value that exists in the V$NLS_TERRITORY performance view
Description#
This property specifies the name of the territory. Values of the NLS_NUMERIC_CHARACTER, NLS_CURRENCY, NLS_ISO_CURRENCY properties are automatically modified according to the territory set for this property. Territory names available for specification of this property can be checked by querying the V$NLS_TERRITORY performance view.
While Altibase is running, this property value can be modified with the ALTER SESSION statement as below. Territory names do not distinguish upper or lower class, and apostrophes(') can be used.
ALTER SESSION SET NLS_TERRITORY = America;
ALTER SESSION SET NLS_TERRITORY = 'America';
PORT_NO#
Data Type#
Unsigned Integer
Default Value#
20300
Attributes#
읽기 전용, 단일 값
Range#
[1024, 65535]
Description#
This property specifies the port number for communication between the client and the server via TCP/IP. The user can set this port number to any number not being used by another application within the range of port numbers (up to number 65535) excluding the so-called "well-known TCP port numbers" (from 1 to 1023). Application programs of Altibase can connect to the server via this port number.
PSM_CURSOR_OPEN_LIMIT#
Data Type#
Unsigned Integer
Default Value#
32
Attributes#
Read-Only, Single Value
Range#
[1,1024]
Description#
The PMS_CURSOR_OPEN_LIMIT specifies the cursor which can be open by using DBMS_SQL in the session.
PSM_FILE_OPEN_LIMIT#
Data Type#
Unsigned Integer
Default Value#
16
Attributes#
Read-Write, Single Value
Range#
[0,128]
Description#
This property specifies the maximum number of stored procedure file handles that can be opened for a session.
TIME_ZONE#
Data Type#
String
Default Value#
OS_TZ
Attributes#
Read-Write, Single Value
Range#
The value that exists in the V$TIME_ZONE_NAMES performance view.
Description#
This property sets the time zone. Region names, abbreviations or character strings such as the UTC offset value(e.g., +09:00) can be used for specification.
This property can be modified using the ALTER SESSION statement while Altibase is running.
UNIXDOMAIN_FILEPATH#
Data Type#
String
Default Value#
$ALTIBASE_HOME/trc/cm-unix
Attributes#
Read-Only, Single Value
Range#
None
Description#
This property is a socket file created for Altibase server to connect with a client through the Unix domain.
If the server is driven, the basic socket file is created under $ALTIBASE_HOME/trc directory, and it should be ensured that the file is not deleted.
USE_MEMORY_POOL#
Data Type#
Unsigned Integer
Default Value#
1
Attributes#
Read-Only, Single Value
Range#
[0,1]
Description#
This property specifies whether memory pooling is used. "Memory pooling" means assigning server memory in advance.
When this function is used, because server memory is allocated in advance, memory use is increased.
0: Do not use memory pooling
1: Use memory pooling
USER_LOCK_POOL_INIT_SIZE (Unit: count)#
Data Type#
Unsigned Integer
Default Value#
128
Attributes#
Read-Only, Single Value
Range#
[128, 10000]
Description#
The number of times for user lock in the database can be specified through the USER_LOCK_POOL_INIT_SIZE property.
By exceeding the property values, the user lock can be used for maximum number of times; however, in that case, performance degradation might be occurred due to overutilization. Moreover, once the user lock is created the user lock cannot be eliminated even though it is released; thus, it can be said that re-using the user unlock that has been once released is rather efficient.
USER_LOCK_REQUEST_CHECK_INTERVAL (Unit: microsecond)#
Data Type#
Unsigned Integer
Default Value#
10000
Attributes#
Read-Write, Single Value
Range#
[10, 999999]
Description#
The USER_LOCK_REQUEST_CHECK_INTERVAL configures a cycle for examining whether the user lock is available for use or not. If a user, who is currently using in a different session, requests the user lock, the session would be waiting until the user lock is released.
The property value can be modified by using the ALTER SYSTEM statement during the operation of Altibase.
USER_LOCK_REQUEST_LIMIT (Unit: count)#
Data Type#
Unsigned Integer
Default Value#
10
Attributes#
Read-Write, Single Value
Attributes#
[0, 10000]
Default Value#
The USER_LOCK_REQUEST_LIMIT sets number of times the user lock that one session can request. The value of this property can be modified through the ALTER SYSTEM statement during the operation of Altibase.
USER_LOCK_REQUEST_TIMEOUT (Unit: second)#
Data Type#
Unsigned Integer
Default value#
10
Attributes#
Read-Write, Single Value
Range#
[0, 232-1]
Description#
The USER_LOCK_REQUEST_TIMEOUT establishes the maximum waiting time until the user lock is obtained in a session.
The value of this property can be modified through the ALTER SYSTEM statement during the operation of Altibase.
XA_HEURISTIC_COMPLETE#
Data Type#
Unsigned Integer
Default Value#
0
Attributes#
Read-Only, Single Value
Range#
[0, 2]
Description#
In a distributed transaction environment, Two-Phase Commit Protocol (XA) is used. While a transaction is underway, after a Prepare command has been received from the global transaction coordinator, if for some reason a COMMIT or ROLLBACK command does not arrive for a long time, Altibase will keep the transaction active for a long time, which will negatively affect database performance.
To prevent this, Altibase terminates the entire transaction if it has been in a PREPARE (or IN_DOUBT) state beyond a certain period of time. In such cases, this property determines whether to use COMMIT or ROLLBACK to terminate the transaction.
Altibase waits for the amount of time specified with the XA_INDOUBT_TX_TIMEOUT property before cancelling a transaction in this way. If the value of XA_HEURISTIC_COMPLETE is 0, which is the default, nothing will be done; if it is 1, the transaction will be committed, and if it is 2, the transaction will be rolled back.