This topic documents the initialization parameters used to configure the multi-threaded server (MTS). Only the currently recommended parameters are described here. Parameters that were made obsolete when Oracle8i was released are listed in the following table, but have been omitted from this appendix.
Parameter | Obsolete in Release | Description |
---|---|---|
MTS_DISPATCHERS | 8.0 |
MTS_DISPATCHERS itself is not obsolete, but there is an obsolete syntax that looks like this: MTS_DISPATCHERS="tcp,3" This example configures three TCP/IP dispatchers. This syntax is still supported for backward compatibility, but you should switch to the newer syntax documented in this appendix. |
MTS_LISTENER_ADDRESS | 8.1 | Specifies the address of a listener with which the dispatchers should register. |
MTS_MULTIPLE_LISTENERS | 8.1 | Modifies the syntax accepted by MTS_LISTENER_ADDRESS. |
MTS_RATE_LOG_SIZE | 8.1 | Specifies the sample size that the instance uses to calculate dispatcher rate statistics. |
MTS_RATE_SCALE | 8.1 | Specifies the time scale used for dispatcher rate statistics. |
The remainder of this topic lists the currently recommended parameters.
LOCAL_LISTENER
Format:
LOCAL_LISTENER = "ADDRESS_LIST = (ADDRESS = address_data) [(ADDRESS = address_data)...]" address_data (TCP/IP) := (PROTOCOL = TCP)(HOST = {hostname | ip_address})(PORT = port_number) address_data (IPC) := (PROTOCOL = IPC)(KEY = key_name) address_data (SPX) := (PROTOCOL = SPX)(SERVICE = spx_service_name) address_data (Named Pipes) := (PROTOCOL = NMP)(SERVER = server_name)(PIPE = pipe_name)
Purpose:
Defines the addresses of local listeners so that the instance and the instance's dispatchers can register with them. This is a static parameter, and may not be changed while the instance is running.
The LOCAL_LISTENER parameter overrides the now obsolete MTS_LISTENER_ADDRESS and MTS_MULTIPLE_LISTENERS parameters.
Parameter | Description |
---|---|
address_data | The protocol-specific address data required to identify a listener address. The address data specified in the LOCAL_LISTENER parameter should match that specified in the target listener's listener.ora file. |
host_name | The TCP/IP hostname of the machine on which the listener is running. |
ip_address | The TCP/IP address of the machine on which the listener is running. |
port_number | The TCP/IP port number that the listener is monitoring. |
key_name | The listener's IPC key name. |
spx_service_name | The listener's SPX service name. |
server_name | The name of the server on which the listener is running. |
pipe_name | The name of the pipe over which you want to communicate. |
Default value |
The default value is as follows: LOCAL_LISTENER = "(ADDRESS_LIST = \ (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) \ (ADDRESS = (PROTOCOL = IPC)(KEY = database_name)))" Notice that, by default, the LOCAL_LISTENER parameter points to the address used by the default Net8 listener. That's why you can often get away without setting this parameter. You only need it when you are using a listener with an address other than the default. |
MTS_DISPATCHERS
Format:
MTS_DISPATCHERS = "(proto_addr)[(attribute)[(attribute)...]]" proto_addr := {ADDRESS = address_data |DESCRIPTION = address_description |PROTOCOL = protocol) address_data (TCP/IP) := (PARTIAL = TRUE)(PROTOCOL = TCP)(HOST = {hostname | ip_address}) (PORT = port_number) address_data (IPC) := (PARTIAL = TRUE)(PROTOCOL = IPC)(KEY = key_name) address_data (SPX) := (PARTIAL = TRUE) (PROTOCOL = SPX)(SERVICE = spx_service_name) address_data (Named Pipes) := (PARTIAL = TRUE)(PROTOCOL = NMP)(SERVER = server_name)(PIPE = pipe_name) attribute := CONNECTIONS = max_connections |DISPATCHERS = num_dispatchers |LISTENER = (ADDRESS_LIST = (ADDRESS = listener_address_data) [(ADDRESS = listener_address_data)...]) |MULTIPLEX = {1 | ON | YES | TRUE | BOTH | IN | OUT | 0 | NO | OFF | FALSE} |POOL = {ticks | ON | YES | TRUE | BOTH | IN | OUT | NO | OFF | FALSE} |POOL = ({IN | OUT} = ticks)[({IN | OUT} = ticks...)] |SERVICE = service_name |SESSIONS = max_sessions |TICKS = seconds
Purpose:
Defines MTS dispatchers for an instance. More than one MTS_DISPATCHERS parameter may be used to define dispatchers for multiple protocols, or on multiple addresses. However, when multiple MTS_DISPATCHERS parameters are used, they must all be together in the instance parameter file.
Parameter | Description |
---|---|
address_data | A protocol-specific address that the dispatcher (or dispatchers) use. In the case of TCP/IP, this may be either a complete or a partial address. |
address_description | Allows you to specify additional attributes along with an address. This option is rarely used when defining MTS dispatchers. |
protocol | Specifies the protocol that you want the dispatcher(s) to support. This is the most common option used when defining MTS dispatchers. When it is used, the instance automatically determines the address to be used by each dispatcher that is created. The valid protocol codes are TCP, IPC, SPX, and NMP. MTS does not support Bequeath (BEQ) connections. |
host_name | The TCP/IP hostname you want the dispatcher to use. |
ip_address | The TCP/IP address you want the dispatcher to use. |
port_number | The TCP/IP port number you want the dispatcher to use. |
key_name | The IPC key name you want the dispatcher to use. |
spx_service_name | The SPX service name you want the dispatcher to use. |
server_name | The server name you want a Named Pipes dispatcher to use. |
pipe_name | The name of the pipe over which you want the dispatcher to communicate. |
attribute | A dispatcher attribute used to specify the number of dispatchers to create, and to define how they operate. |
max_connections | Places a limit on the number of connections that a dispatcher can handle at one time. This value can never be greater than the operating system-specific connection limit. This defaults to the operating system limit. |
num_dispatchers | Specifies the number of dispatcher processes to create for the specified protocol. This defaults to 1. |
listener_address_data | The protocol-specific address for the local listener. This is in the same format as address_data, except that (PARTIAL = TRUE) is not used when defining the local listener. |
MULTIPLEX={ 1 | ON | YES | TRUE | BOTH | IN | OUT | 0 | NO | OFF | FALSE } |
Enables or disables multi-threaded server's multiplexing feature. By default, multiplexing is off.
|
POOL={ ticks | ON | YES | TRUE | BOTH | IN | OUT | NO | OFF | FALSE } |
Enables or disables Net8's connection pooling feature.
|
{ IN | OUT }=ticks) | Represents an alternate syntax for enabling connection pooling. IN or OUT is used to enable connection pooling for inbound or outbound connections, and you can specify a different timeout for each. |
service_name | The database service name that you want the dispatcher or dispatchers to register with the listener. This overrides the now obsolete MTS_SERVICE parameter. |
max_sessions | Places a limit on the maximum number of user sessions that can be serviced by any one dispatcher. This attribute only applies when connection pooling is used. |
seconds | Specifies the number of seconds in a network tick. The default value is platform-specific. |
Examples:
To configure four TCP/IP dispatchers for an instance:
MTS_DISPATCHERS = "(PROTOCOL = TCP)(DISPATCHERS = 4)"
To configure four TCP/IP dispatchers for an instance, enable connection pooling, limit the number of active connections for each dispatcher to 50, and limit the total number of user sessions for each dispatcher to 75:
MTS_DISPATCHERS = "(PROTOCOL = TCP)(DISPATCHERS = 4)(POOL = BOTH) \ (CONNECTIONS = 50)(SESSIONS = 75)"
To configure one TCP/IP dispatcher, and have it register with a specific listener:
MTS_DISPATCHERS = "(PROTOCOL = TCP)(DISPATCHERS = 1) \ (LISTENER = (ADDRESS_LIST = (ADDRESS = \ (PROTOCOL = TCP)(HOST = donna.gennick.org)(PORT = 1523))))"
MTS_MAX_DISPATCHERS
Format:
MTS_MAX_DISPATCHERS = dispatcher_limit
Purpose:
Places a limit on the number of dispatchers that may be started for an instance. The default limit is 5, and but that is adjusted upwards, if necessary, to match the number of dispatchers configured when the instance is started. This is a static parameter that cannot be changed once the instance has started.
MTS_MAX_SERVERS
Format:
MTS_MAX_SERVERS = shared_server_limit
Purpose:
Places a limit on the number of shared server processes that can be started. The default limit is 20. This is a static parameter that cannot be changed once the instance has started.
MTS_SERVERS
Format:
MTS_SERVERS = shared_server_minimum
Purpose:
Specifies the minimum number of shared server processes that the instance should maintain. This is the number of shared server processes that are started when the instance is started. The default minimum is 1. This is a dynamic parameter—it may be changed while the instance is running, but it cannot be increased beyond the limit specified by MTS_MAX_SERVERS.
Start the discussion at forums.toadworld.com