admin 3: config connection to dispatcher - noradle/noradle-oracle-server GitHub Wiki

Configure server_config_t table for Noradle server processes

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 match noradle.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.

Make sure there is enough processes/sessions and background job process for PSP.WEB service.

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}"
⚠️ **GitHub.com Fallback** ⚠️