you have 3 options:
- use resource limits with profiles. in this case sessions exceeding
the profile resource limit (such as idle_time, max_connect_time) will
be sniped.
In this manner, you need not timeout all connections, just those whose
user accounts have been assigned a specific profile.
- use a sqlnet.expire_timeout parameter in the sqlnet.ora.
this would not be selective in which sessions would be timed out.
this is not supported at all on some OSes.
- script a solution whereby you kill the zombies and schedule it to
run periodically.
alter system kill session is notorious for not actually doing anything
other than marking the session as killed. far better to kill the actual
user process from the operating system and have the resources freed.
AFAIK, sqlnet expiration didn't work well in 9.2.0.4, but I haven't
tested it on Solaris.
hth.
-bdbafh
Received on Mon Jun 20 2005 - 16:02:41 CDT