`
java_mike
  • 浏览: 84100 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE 查看锁和解锁

    博客分类:
  • DB
阅读更多

 

1.查看锁情况

select /*+ RULE */

 ls.osuser os_user_name,

 ls.username user_name,

 decode(ls.type,

        'RW',

        'Row wait enqueue lock',

        'TM',

        'DML enqueue lock',

        'TX',

        'Transaction enqueue lock',

        'UL',

        'User supplied lock') lock_type,

 o.object_name object,

 decode(ls.lmode,

        1,

        null,

        2,

        'Row Share',

        3,

        'Row Exclusive',

        4,

        'Share',

        5,

        'Share Row Exclusive',

        6,

        'Exclusive',

        null) lock_mode,

 o.owner,

 ls.sid,

 ls.serial# serial_num,

 ls.id1,

 ls.id2

  from sys.dba_objects o,

       (select s.osuser,

               s.username,

               l.type,

               l.lmode,

               s.sid,

               s.serial#,

               l.id1,

               l.id2

          from v$session s, v$lock l

         where s.sid = l.sid) ls

 where o.object_id = ls.id1

   and o.owner <> 'SYS'

 order by o.owner, o.object_name

 

--查询锁定状态的session

SELECT s.username,

       l.OBJECT_ID,

       l.SESSION_ID,

       s.SERIAL#,

       l.ORACLE_USERNAME,

       l.OS_USER_NAME,

       l.PROCESS

  FROM V$LOCKED_OBJECT l, V$SESSION S

 WHERE l.SESSION_ID = S.SID

 

--查询指定的某个session,通过status字段判断是否处于锁定状态

 select t.STATUS  from  V$SESSION t where sid = 1029

 

2.杀掉进程  kill session

alter system kill session 'sid,serial_num';

 

select sid,

       serial#,

       username,

       program,

       status,

       sql_id,

       blocking_instance,

       blocking_session

  from v$session

 where event = 'enq: TX - row lock contention'

 order by blocking_session;

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics