oracle 登陆账号被锁定oracle查询锁表情况与解锁

oracle查询锁表情况与解锁

 

如果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待 

以下的语句可以查询到谁锁了表: 

  www.2cto.com  

SELECT /*+ rule */ s.username, 

decode(l.type,'TM','TABLE LOCK', 

'TX','ROW LOCK', 

NULL) LOCK_LEVEL, 

o.owner,o.object_name,o.object_type, 

s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser 

FROM v$session s,v$lock l,dba_objects o 

WHERE l.sid = s.sid 

AND l.id1 = o.object_id(+) 

AND s.username is NOT NULL 

 

以下的语句可以查询到谁在等待: 

 

SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name, o.owner,o.object_name,o.object_type,s.sid,s.serial# 

FROM v$locked_object l,dba_objects oracle账号o,v$session s 

WHERE l.object_id=o.object_id 

AND l.session_id=s.sid 

ORDER BY o.object_id,xidusn DESC 

 

解锁命令: 

alter system kill session 'sid,serial#'

 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。