oracle查询锁表解锁语句

来源:互联网 发布:淘宝商家入驻在哪 编辑:程序博客网 时间:2024/05/16 11:58

1. 如下语句 查询锁定的表:

  SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

  l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

  FROM v$locked_object l, all_objects o, v$session s

  WHERE l.object_id = o.object_id

  AND l.session_id = s.sid

  ORDER BY sid, s.serial# ;

 

2.然后删除掉系统锁定的此记录  需要有管理员权限

ALTER system KILL session 'SID,serial#'; 

如果有多个sid 和serial# 重复删除每条记录


3、查看锁类型

数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。

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

原创粉丝点击