If restarting the listener "fixed" the problem, then I'd have to
believe that your issue was either related to networking issues on the
DB server, the listener process somehow became unresponsive, or your
dispatcher(s) became unresponsive. The only way to investigate would be
to reproduce the issue with SQL*Net tracing on (trace_level_client=16)
and see what's in the trace. |
It might also be interesting to know how many connection requests the listener is servicing. I suppose it's possible that the tcp queuedepth is too small to handle all the requests if there some some sort of a login storm or something. Without listener logging enabled, you'd only be able to check v$sysstat (where name = 'logons cumulative') periodically to see how many logins are occurring. Statspack should also be gathering that information, so consult there for historical purposes.