How many process per connection?

I have two Oracle 8i servers, neither of which I installed or
configured, but which I now need to administer.  Both servers are AIX
machines.  One of them spawns a new process for every network connection
to Oracle, whereas the other one does not.  This is creating problems on
the machine that creates a new process per connection.  First, it
reaches MAX_PROCESSES every now and then.  I have upped this limit to
300, which is more than recommended for a large installation.  I have a
small number of people hitting this server, so 300 should be more than
enough.  The other problem, which partly causes the first problem, is
that network connections on the server sometimes remain open even though
the client no longer has a connection.

I have 2 questions: (1)  How can I configure Oracle such that a new
process is not spawned for every incoming network connection?  (2) Is
there a configuration parameter that needs to change in order for the
network connections to close properly on the server when the client
closes them?

Answer:

A small number of people hitting the database doesn't result in 300
processes. That's very inprobable.
Looks like the application is improperly exiting. Connections can remain
dangling, but AFAIK only when the client reboots his system or otherwise
illegally shuts his session.
From what your describe the first system is not using the multithreaded
server and the other is.
MTS requires extra resources and seems to become appropiate with 50+
connections only.
Check all parameters starting with mts in the init<sid>.ora in
$ORACLE_HOME/dbs on the second server and copy them to the first one.
To reduce the risk of dangling connections,
edit $ORACLE_HOME/net8/admin/sqlnet.ora and add the line
sqlnet.expire_time = 10
and bounce the listener.

Hth,

Sybrand Bakker, Oracle DBA

Hosted by www.Geocities.ws

1