Sniped session’ların otomatik kill edilmesi

2 Eyl by Ahmet Duruöz

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

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir