Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Unix forked server-process doesn't free all cursor-resources?(No free Cursors left)
Hi,
I 've got the following problem:
A Unix (SunOs) server-process which is connected to several DBs(6) is
forked
for each user-connection. This child-process then uses the parents
DB-connections
without doing DB-connects itselves. On Child-exit it doesn't do a
DB-closing either
(tried that already). This child uses Pro-C for its DB-interactions but
doesn't use
SQL-Cursors itselves. We've noticed however that the DBs use some
internal Cursors
for the Pro-C SQL statements. In a single Child-process these cursors
are reused for
equal SQL-statements, but ain't freed on exit (3 Cursors for each child
in our case).
As the standard value for Number Cursors=50, this resource is quickly
exhausted.
My current patch was to move the DB-connect into the child-process,
resulting in an
extra childs response-delay of approx 2sec. I would like to keep the
DB-connects
however in the parent-process to keep the childs-response-delay to a
minimum.
Is there a kind of close(), flush() command or another specific way to implement this??
Thanx.
-Gustav Gerrits (GGerrits_at_mtgnet.de)
Media Transfer GmbH
Darmstadt, Germany
Received on Wed Aug 27 1997 - 00:00:00 CDT