oracle sniped session

 

What does 'SNIPED' status in v$session mean?sql

When IDLE_TIME is set in the users' profiles or the default profile. This will kill the sessions in the database (status in v$session now becomes SNIPED) and they will eventually disconnect. It does not always clean up the Unix session (LOCAL=NO sessions). At this time all oracle resources are released but the shadow processes remains and OS resources are not released. This shadow process is still counted towards the parameters of init.ora.session

This process is killed and entry from v$session is released only when user again tries to do something. Another way of forcing disconnect (if your users come in via SQL*Net) is to put the file sqlnet.ora on every client machine and include the parameter "SQLNET.EXPIRE_TIME" in it to force the close of the SQL*Net session. oracle

 

 

Oracle has several ways to disconnect inactive or idle sessions, both from within SQL*Plus via resources profiles (connect_time, idle_time), and with the SQL*net expire time parameter.  Here are two ways to disconnect an idle session:this

  • Set the idle_time parameter in the user profile
  • Set the sqlnet.ora parameter expire_time.

Here is an alter/create profile command to set the idle_time to 1,800 seconds, at which time the session will be marked as sniped:spa

alter profile senior_claim_analyst limit
   idle_time 1800;
.net

A sniped session is marked for eventual killing by the PMON background process, but in the meantime, the sniped session still exists as a Oracle session and for dedicated sessions (non shared servers), a sniped session has an OS PID that can be seen with a "ps â€「ef|grep" command.server

You can use scripts to killed sniped sessions by nuking the Oracle session with akill session and nuking the OS PID.htm

There are also enhanced ways to kill a sniped session starting in Oracle 11g.ip

This v$session query will show details for all sniped sessions:ci

select     a.sid,     a.serial#,     b.sql_text from     v$session a,     v$sqlarea b where     a.sql_address=b.address and     a.status= 'SNIPED';

相關文章
相關標籤/搜索