数据库层面解锁
查看哪些对象被锁:
select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o,v$session where l.object_id=o.object_id and l.session_id=s.sid;
杀掉进程来解锁
alter system kill session ‘1,2’; --1和2代表sid和serial#
操作系统层面解锁
以上操作是在数据库层面杀掉进程来进行解锁,如果这样杀进程,杀完之后在v$session表中该进程状态为killed,则需要在操作系统层面将其杀掉,数据库层面无法杀掉。
查看该进程的pid
select spid, osuser,program from v$session s, v$process p where s.paddr=p.addr and p.sid=‘1’;
spid=3
在操作系统OS层面杀掉进程
linux中,使用命令kill杀掉进程
kill -9 3
windows中,使用命令orakill杀掉进程
orakill sid thread 其中,sid代表数据库实例名,thread代表spid
orakill instance_name 3