Oracle查询锁表

select * from v$locked_object

先查看哪些表被锁住了


select * from  v$session

select distinct t2.username,
                'alter system kill session ''' || t2.sid || ',' ||
                t2.serial# || '''' || ';',
                t3.object_name 被锁表名,
                t4.spid 进程号,
                t2.osuser os用户名,
                t2.program 程序名
  from v$locked_object t1
inner join v$session t2
    on t1.session_id = t2.sid
inner join dba_objects t3
    on t1.object_id = t3.object_id
inner join v$process t4
    on t2.paddr = t4.addr; 
    

该查询语句查出来的是当前哪个用户的锁没释放,然后执行kill杀进程语句:

alter system kill session #sid#, #serial#

猜你喜欢

转载自wjlvivid.iteye.com/blog/1673643