MySQL
查找当前的事务和锁信息
查询正在执行的事务和锁的信息
show engine innodb status
找到被阻塞的事务和线程id
或者
查询当前锁和锁的等待情况
select * from information_schema.innodb_locks;
select * from information_schema.innodb_locks_waits;
再通过information_schema的innodb_trx找到事务id和线程id的对应关系
select * from information_schema.innodb_trx where trx_id = <事务id>
手动终止该事务
kill <thread_id>
Oracle
SELECT l.session_id "会话标识符",
s.SERIAL
l.locked_mode "锁模式",
l.oracle_username "数据库名",
l.os_user_name "计算机用户名",
s.machine "操作系统机器名称(计算机组/名)",
s.terminal "计算机名",
o.object_name "数据库表名",
s.program "操作系统程序名称",
s.logon_time "时间"
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial
alter system kill session '3424,32170';