Skip to content

Killed远程登录Oracle的所有进程的方法

此方法用在停应用系统后,清除所有远程登录的客户端进程,特别是在进程过多的情况下。

!!!切忌千万不要在生产端轻易运行,否则后果自负

脚本:killsess.sh

########killsess.sh#########
#author:ludatou@2014/07/24 feigigi@qq.com
#desc:kill all session connect from client
ps -ef | grep LOCAL=NO | grep -v grep|awk '{if($3~/^[0-9]+$/)print $2}' > sessinfo.out
cat sessinfo.out |while read pid
do
  kill -9 $pid
done
cat /dev/null > sessinfo.out

例子:

[root@ludatou ~]# ps -ef | grep LOCAL|grep -v grep
ora10g   22367 22333  0 20:21 ?        00:00:00 oraclelu10g (DESCRIPTION=(LOCAL=NO)(ADDRESS=(PROTOCOL=beq)))
[root@ludatou ~]# chmod +x killsess.sh
[root@ludatou ~]# ./kiilsess.sh
[root@ludatou ~]# ps -ef | grep LOCAL|grep -v grep
[root@ludatou ~]#