本文介绍了如何在数据库环境中获取锁表的session id以及系统进程号,并提供了在Navicat和命令行中杀掉进程的步骤。通过SQL查询获取所需信息,然后使用ALTER SYSTEM KILL SESSION或操作系统的kill命令来终止进程。
1.获取锁表的session id
SELECT object_name, machine, s.sid, s.serial# ,o.owner
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
2.获取系统进程号
select distinct s.sid,s.serial#,p.spid as 系统进程号
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
3.1 杀掉进程(navicat操作)
alter system kill session '1434, 2425';
放入步骤1里面的 sid,serial 两个值