B
Barry Frank
We're using System.Data.OracleClient and are seeing the following
behavior. It's driving us crazy and we'd very much appreciate any
help. TIA.
We have a .NET service running on a middle-tier Windows server, that
executes database requests (on behalf of clients over remoting, and
also for internal requests within the service). The Oracle database is
on a different machine, a Solaris.
When there's a problem with connecting to Oracle, e.g. the listener
goes down, or the network is cut, the service will respond with the
correct error, namely "TNS-12535: TNSperation timed out".
However, when the outage is over, we will still get the same errors. A
tnsping works fine, but our service keeps responding with TNS-12535.
Restarting the service fixes the problem. I suspect the connection
pool retains the bad connections, and restarting the process refreshes
the pool.
1. Is this a bug? Shouldn't the connection pool clear itself out
anyway after a few minutes of non-use? Even if we pause the service
for twenty minutes, the problem does not correct itself. (It does
eventually correct itself, but it can take an hour).
2. How can we manually clear the connection pool, and *automate it* so
we do not have to manually intervene when there's an outage recovery?
(Short of automating a service reboot).
behavior. It's driving us crazy and we'd very much appreciate any
help. TIA.
We have a .NET service running on a middle-tier Windows server, that
executes database requests (on behalf of clients over remoting, and
also for internal requests within the service). The Oracle database is
on a different machine, a Solaris.
When there's a problem with connecting to Oracle, e.g. the listener
goes down, or the network is cut, the service will respond with the
correct error, namely "TNS-12535: TNSperation timed out".
However, when the outage is over, we will still get the same errors. A
tnsping works fine, but our service keeps responding with TNS-12535.
Restarting the service fixes the problem. I suspect the connection
pool retains the bad connections, and restarting the process refreshes
the pool.
1. Is this a bug? Shouldn't the connection pool clear itself out
anyway after a few minutes of non-use? Even if we pause the service
for twenty minutes, the problem does not correct itself. (It does
eventually correct itself, but it can take an hour).
2. How can we manually clear the connection pool, and *automate it* so
we do not have to manually intervene when there's an outage recovery?
(Short of automating a service reboot).