admin 3: config connection to dispatcher - noradle/noradle-oracle-server GitHub Wiki
After installation script runs, The server_control_t
table is configured by the following insert statements.
insert into SERVER_CONTROL_T (CFG_ID, GW_HOST, GW_PORT, MIN_SERVERS, MAX_SERVERS, MAX_REQUESTS, MAX_LIFETIME,IDLE_TIMEOUT)
values ('demo', '127.0.0.1', 1522, 4, 12, 1000, '+0001 00:00:00', 300);
To let NORADLE known where the dispatcher is, You must specify gw_host
and gw_port
columns for server_control_t
.
The dispatcher is listening for oracle connection at tcp address of gw_host:gw_port
.
-
cfg_id
configuration name -
gw_host
must match ip of the NORADLE dispatcher listening address. -
gw_port
must matchnoradle.DBDriver.connect([port, host],option)
, the dispatcher listening port -
min_servers
keep this amount of oracle background server processes for this config record -
max_servers
not used yet -
max_requests
when a job process handle this amount of servlet request, process will quit and restart to release resource. -
max_lifetime
when a job process live over this amount of time, process will quit and restart to release resource. -
idle_timeout
when a job process can not receive any incoming request data over this amount of time, job process will treat it as connection lost, so disconnect and reconnect to nodejs. For nodejs and oracle behind NAT, this setting should be set to avoid endless waiting on a lost NAT state connection. -
disabled
when not null or set to 'Y', this config is ignored by K_PMON
The above insert will create configuration records,
you can create additional configuration by insert multiple records of server_config_table
,
and specify column cfg_id
as the name of the new configuration.
That way, you can allow multiple dispatchers as pathways to access one oracle database.
For every records of server_control_t
, call dbms_network_acl_admin.assign_acl
for every different gw_host
(or
add gw_port
), to allow oracle server process make connection to the corresponding dispatcher.
The value in server_control_t.min_servers
control how many server processes
a NORADLE dispatcher use it to service its clients,
but NORADLE server process is just oracle's background processes,
the actual number of them is limited under the following oracle init parameters,
so ensure it's set big enough to run the amount of oracle server processes required.
- `JOB_QUEUE_PROCESSES`
- specifies the maximum number of processes that can be created for the execution of jobs.
- It specifies the number of job queue processes per instance (J000, ... J999).
- `PROCESSES`
- specifies the maximum number of operating system user processes that can simultaneously connect to Oracle.
- Its value should allow for all background processes such as locks, job queue processes, and parallel execution processes.
- `SESSIONS`
- specifies the maximum number of database sessions that can be created in the system. Because every login requires a session,
- this parameter effectively determines the maximum number of concurrent users in the system.
Note:
- To get the current value of the parameters above, use "show parameters {parameter-name}"
- To change the setting., use "alter system set {parameter-name}={value}"