您的位置:首页 > 数据库 > Oracle

【Oracle】查询锁的相关SQL

2017-12-22 14:39 274 查看
--查看有锁的进程

select t2.username,t2.sid,t2.serial#,t2.logon_time,t2.state

from v$locked_object t1,v$session t2 

where t1.session_id=t2.sid order by t2.logon_time desc

--杀掉进程

alter system kill session 'sid,serial#';   

--或者:

select 'alter system kill session '||chr(39)||t2.sid||chr(44)||t2.serial#||chr(39)||';',t2.logon_time

from v$locked_object t1,v$session t2 

where t1.session_id=t2.sid order by t2.logon_time 

--查看相关的服务器对应的锁及对象

select object_name, machine, s.sid,s.serial#,s.LOGON_TIME,s.STATE

from v$locked_object l, dba_objects o, v$session s

where l.object_id = o.object_id

and l.session_id =s.sid;

--查出系统中的pid

select spid, osuser, s.program

from v$session s, v$process p

where s.paddr = p.addr

and s.sid =&sid;

或者

select object_name as 对象名称,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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle oracle锁