合 Oracle、SQL Server、PG、GP、MySQL等数据库批量kill杀会话汇总
Tags: OraclePGGreenPlumMSSQLMySQL杀会话汇总
一、 Oracle
数据库内操作
1 2 3 4 5 6 | select 'alter system kill session '''||s.sid||','||s.SERIAL#||''' immediate;' from v$session s where s.status='INACTIVE' --状态为非活跃 and s.USERNAME= 'ZZZ' --用户为ZZZZ and s.type<>'BACKGROUND' --不为oracle后台进程 and program not like '%(J0%' --不为oracle的JOB进程 and s.LOGON_TIME >= to_date('2020-09-12 08:00:00','YYYY-MM-DD HH24:MI:SS') -- 会话登录时间 |
操作系统中操作(要求登录到数据库主机)
1 2 | # kill掉所有local=no的非本地连接进程 ps -ef|grep -v grep|grep LOCAL=NO|awk '{print $2}'|xargs kill -9 |
二、 SQL Server
kill 单个会话并查看回滚进度
1 2 | kill <spid> kill <spid> with statusonly |
kill 所有LCK相关被阻塞会话
1 2 | select 'kill '+cast(spid as varchar) FROM sys.sysprocesses sp where spid>50 and blocked !=0 and spid != blocked and lastwaittype like 'LCK%' and loginame='XXX'; |
kill 所有LCK相关阻塞源会话