开源中文网

您的位置: 首页 > 数据库应用 > Oracle > 正文

锁的解决方法

来源:  作者:

使用以下的脚本对于诊断锁有一定的帮助,但是还是不能找出罪魁祸首,有更好的方法,请大侠指点
description:display the blocker and waiter,and then display the blocker's current execute statement.
SELECT distinct s.sid,
                s.serial#,
                s.username,
                decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', l.type) LOCK_LEVEL,
                o.object_name,
                l.request,
                l.lmode
  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 s.sid, s.serial#, s.username, t.sql_text
  from v$session s, v$lock l, v$sqltext t
where s.sid = l.sid
   and s.prev_hash_value = t.hash_value
   and l.request = 0
   and l.id1 in
       (select distinct id1
          from v$lock
         where kaddr in
               (select lockwait
                  from v$session s
                 where s.lockwait is not null));

Tags:锁解决方法
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明