|
看一下 metalink 上這一篇吧Problem Description
-------------------
If "init.ora" resource_limit = true, and idle_time set in profile.
When idle_time exceeds, the session status becomes 'sniped' in v$session,
but sniped sessions never get cleaned up.
Using 'alter system kill session' to kill the session, session status becomes
'killed' in v$session, but still is never cleaned up.
Solution Description
--------------------
On Unix, and if using a dedicated server, use the following shell script to
kill the shadow process (script has been tested on Solaris, AIX, Tru64 and
HPUX):
#!/bin/sh
tmpfile=/tmp/tmp.$$
sqlplus system/manager <<EOF
spool $tmpfile
select p.spid from v\$process p,v\$session s
where s.paddr=p.addr
and s.status='SNIPED';
EOF
for x in `cat $tmpfile | grep "^[0123456789]"`
do
kill -9 $x
done
rm $tmpfile
Explanation
-----------
According to several bugs as shown in references, it's still expected behaviour
that sniped session may never clean up. The only workaround is to kill the
shadow process.
|