1.查看被锁的对象
SELECT b.object_name, machine, c.sid, c.serial#, b.status, d.pid, d.spid, d.addr
FROM gv$locked_object a, dba_objects b, gv$session c, v$process d
WHERE a.object_id = b.object_id
AND a.session_id = c.sid
AND d.addr = c.paddr;
2.杀会话 (1637为第1步中查询出的sid, 1568为第1步查询出的serial#)
ALTER system kill session ‘1637, 1568’;
如果第2步中的语句报错会话已经不存在,但是还有相应的对象锁着,则用下面的方法Kill掉
3.查询当前数据库实例名 (此处查询结果为ggyjdb)
SELECT instance_name FROM v$instance;–ggyjdb
4.远程到服务器端,运行CMD命令,依次执行下面的命令(ggyjdb为第3步查询出的数据库实例名 5200为第1步查询出的spid)
set ORACLE_SID=ggyjdb
orakill ggyjdb 5200