2019-03-15
数据库如何通知操作系统杀掉进程
在v$process中的部分进程的addr在v$session匹配不到,且此类进程越来越多,导致数据库进程数目超过限制。此类进程如何处理?solaris oracle 11.2.0.1
收藏
分享
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
如下是我之前写的一个清理僵死进程的脚本,供参考:
#!/bin/sh . /home/oracle/.profile sqlplus -s / as sysdba <<EOF set pagesize 0 set long 90000 set feedback off set echo off spool killed_pid.txt select spid from v\$process where program!= 'PSEUDO' and addr not in (select paddr from v\$session) and addr not in (select paddr from v\$bgprocess) and addr not in (select paddr from v\$shared_server); spool off exit; EOF echo ''>1.log echo ''>kill_pid.sh cat killed_pid.txt| while read line do if `ps -ef|grep $line|grep LOCAL=NO` then echo `ps -ef|grep $line|grep LOCAL=NO`>>1.log echo "kill -9 $line">>kill_pid.sh fi done
评论
有用 0
墨值悬赏