您的位置:首页 > 数据库

Scripts:常用查询数据库中锁的脚本

2014-05-29 10:58 316 查看
select p.spid,

       a.serial#,

       c.object_name,

       b.session_id,

       b.oracle_username,

       b.os_user_name

  from v$process       p,

          v$session       a,

          v$locked_object b,

          all_objects     c

where p.addr = a.paddr

   and a.process = b.process
   and c.object_id = b.object_id;

column event format a30                                                                                                          

  column sess format a20                                                                                                           

  set linesize 250                                                                                                                 

  set pagesize 0                                                                                                                   

  break on id1 skip 1                                                                                                              

select decode(request,0,'Holder:',' Waiter:') || s.inst_id || ':' || s.sid||','|| s.serial# sess,                                  

      id1, id2, lmode, request, l.type, ctime, s.username,s.sql_id, s.event ,s.service_name                                                                                                                 

   from gv$lock l, gv$session s                                                                                                     

  where (id1, id2, l.type) in                                                                                                      

    (select id1, id2, type from gv$lock where request>0                                                                            

    )                                                                                                                              

   and l.sid=s.sid                                                                                                                 

   and l.inst_id=s.inst_id                                                                                                         

  order by id1, ctime desc, request                                                                                                



select sid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_name,object_type,o.object_id

from dba_objects o,v$locked_object l,v$session s

where o.object_id=l.object_id and s.sid=l.session_id;

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# ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: