Sniped session’ların otomatik kill edilmesi
Veritabanında resource_limit parametresini true yapıp , profillerdeki idle_time parametresini sınırsızdan farklı bir değer olarak ayarladığınızda , veritabanı idle_time ile belirtilen süre boyunca boş olarak bekleyen oturumları kill edecektir.
Kill edilen session’lar v$session görüntüsünde SNIPED olarak görülecektir. Bu session’ların proseslerinin işletim sistemi seviyesinde de kill edilmesi gerekmektedir. Linux ortamlarda aşağıdaki script ile SNIPED session’lar kill edilebilir.
Aşağıdaki içerikli kill_sniped_session.sh isimli bir shell script ile sniped session’ları kill edebilirsiniz.
#!/bin/bash . /home/oracle/.profile.ORCL tmpfile=/tmp/tmp.$$ sqlplus / as sysdba <<EOF spool $tmpfile select p.spid from v\$process p,v\$session s where s.paddr=p.addr and s.status='SNIPED'; spool off EOF for x in `cat $tmpfile | grep "^[0123456789]"` do kill -9 $x done rm $tmpfile