我们的文章会在微信公众号IT民工的龙马人生和博客网站 ( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
前两天写了一篇DBA必备脚本:一键杀会话文章,有朋友反馈部分功能不完善。今天根据朋友些给的建议,对kill_sess_80.sql的脚本做了一个迭代,添加了如下一下功能:
• 支持kill/disconnect两种模式,默认是disconnect默认 • 增加对Rac节点的支持,会根据每个节点的进程使用率进行判断。 • 增加Debug功能,默认只显示命令,不执行会话操作。
kill的模式和debug的功能都可以通过变量来自定义,变量的定义如下:
-- Debug parameter definition (1=display commands only, 0=execute commands)
define debug = 1;
-- Session termination mode (disconnect=disconnect session, kill=kill session)
define session_mode = 'disconnect';
脚本的获取
关注公众号,后台回复“脚本”二字,已经关注并回复过的就直接下载即可。
测试案例
自己环境测试如下:
kill模式
SQL> @kill_sess_80
Instance 1 - Current sessions: 714, Max processes: 800, Usage ratio: .89
Instance 1 usage exceeds 80%, starting to disconnect inactive sessions...
Detailed information: INST_ID=1,SID=746,SERIAL#=58065,USER=C##HUANG,MACHINE=oracleadg,PROGRAM=sqlplus@oracleadg (TNS V1-V3),LAST_CALL_ET=30
ExecSQL is: alter system kill session '746,58065' immediate
Processed 1 INACTIVE sessions for disconnection on Instance 1
Re-checking Instance 1 usage ratio: .75
Instance 1 usage ratio is below 80%, processing complete.
All instances processed. Operation completed.
disconnect模式
SQL> @kill_sess_80
Instance 1 - Current sessions: 714, Max processes: 800, Usage ratio: .89
Instance 1 usage exceeds 80%, starting to disconnect inactive sessions...
Detailed information: INST_ID=1,SID=746,SERIAL#=58065,USER=C##HUANG,MACHINE=oracleadg,PROGRAM=sqlplus@oracleadg (TNS V1-V3),LAST_CALL_ET=30
ExecSQL is: alter system disconnect session '746,58065' immediate
Processed 1 INACTIVE sessions for disconnection on Instance 1
Re-checking Instance 1 usage ratio: .75
Instance 1 usage ratio is below 80%, processing complete.
All instances processed. Operation completed.
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

文章转载自 IT民工的龙马人生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




