http://www.dbaoncall.net/cgi-bin/ikonboard/topic.cgi?forum=1&topic=29
--------------------------------------------------------------------
#  -----------------------------------------------
#  this script will kill the session ed sniped
#  -----------------------------------------------
ORACLEID=system/erpmanager; export ORACLEID
ORACLE_SID=prll ; export ORACLE_SIDsqlplus -s  $ORACLEID << EOF
spool sniped.lst
select spid
from
v\$session, v\$process
where addr = paddr
and status = 'SNIPED';
EOF
for  x in `cat sniped.lst | grep "^[0123456789]"`
  do
  kill -9 $x
  done

解决方案 »

  1.   

    thanks jiandzpa! but I want to know root cause about that.
    you give me only a way that how to kill the sniped session.
      

  2.   

    文档上:
    Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (ed to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client)  
      

  3.   

    here:
    http://safari.oreilly.com/main.asp?bookname=oracleperl&snode=76A sniped session occurs when a user has exceeded his idle time. The situation has been noted in the database, and the user's actual database session has been suspended. However, the user is still consuming a dedicated server resource that has not yet been allocated to someone else. This situation can have an adverse effect on overall database performance. 
      

  4.   

    These description of status of session in oracle document I have read also. 
    I think it should prevent through tuning some parameters of database! But my db work well next week,it generate session 
    that  snaped less than 5!