监控SQL*Net message from client等待事件

对 某个等待事件进行监控,发现之后就杀掉,特此记录
[oracle@testora ~]$ cat monitor_kksfbc.sh
#!/bin/sh
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
while [ true ]
do
$ORACLE_HOME/bin/sqlplus -S "/as sysdba" @sp << EOF
EOF
if [ `cat kill_kksfbc.sh|wc -l` -gt 0 ]
then
sh kill_kksfbc.sh
cp kill_kksfbc.sh ./ak_log/kill_kksfbc.sh.`date +%b_%d_%H_%M_%S`
>kill_kksfbc.sh
fi
sleep 60
done


[oracle@testora ~]$ ls sp.sql 
sp.sql
[oracle@testora ~]$ cat sp.sql 
set feedback off
set termout off;
ttitle off;
btitle off;
set heading off
set timing off;
set verify off;
set echo off;
spool kill_kksfbc.sh
select 'kill -9 '|| spid from v$session s,v$process p where s.paddr=p.addr and s.event='SQL*Net message from client' and s.username is not null and s.username <>'SYS';
spool off

[oracle@testora ~]$ mkdir ak_log

---查看权限
[oracle@testora ~]$ ll          
total 24
drwxr-xr-x 2 oracle oinstall 4096 Aug 12 11:01 ak_log
-rwx------ 1 oracle oinstall    0 Aug 12 14:15 kill_kksfbc.sh
-rwx------ 1 oracle oinstall  298 Aug 12 10:30 monitor_kksfbc.sh
-rw-r--r-- 1 oracle oinstall    0 Aug 12 10:45 monitor_kksfbc.sh.out
-rwxr-xr-x 1 oracle oinstall  319 Aug 12 11:01 sp.sql

[oracle@testora ~]$  nohup monitor_kksfbc.sh>monitor_kksfbc.sh.out &

--查看作业
[oracle@testora ~]$ jobs


SQL> grant dba to test identified by test;

授权成功。

SQL> conn test/test
已连接。

--过一分钟去查看ak_log
[oracle@testora ~]$ cd ak_log/
[oracle@testora ak_log]$ ls
kill_kksfbc.sh.Aug_12_11_01_49
[oracle@testora ak_log]$ cat kill_kksfbc.sh.Aug_12_11_01_49 

kill -9 3421 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值