Oracle 查询锁和对应的对象信息 以及强制释放句

select '-------------------------------------------------------------------------------',
 'OS/ORA user: '||ls.osuser||'/'||ls.username,
 'Obj_name: '||o.owner||'.'||o.object_name,
 'Sub_name: '||o.subobject_name,
 'Obj_id: '||o.object_id,
 'ID1 is '||t.ID1_TAG||': '||ls.ID1 ID1,
 'ID2 is '||t.ID2_TAG||': '||ls.ID2 ID2,
 'Lock_Type: '||ls.type||'---'||t.description,
 'Lock_Mode: '||decode(ls.lmode,
        0,'none',
        1,'Null---select',
        2,'RowShare---SelectForUpdate/LockForUpdate/LockRowShare',
        3,'RowExclusive---DML/LockRowShare',
        4,'Share---CreateIndex/LockShare',
        5,'ShareRowExclusive---LockShareRowExclusive',
        6,'Exclusive---AlterTab/DropTab/DropInd/TruncTab/LockExclusive',
        null),
 'Lock_time: '||ls.ctime,
 'Blocker: '||decode(ls.BLOCK,0,'NULL',1,'DeadLock'),
 'Kill_Session_SQL: alter system kill session '''||ls.sid||','||ls.serial#||''';',
 'Kill_OS_Process_Shell: kill -9 '||p.SPID,
 '-------------------------------------------------------------------------------'
  from sys.dba_objects o,
       (select s.osuser,s.username,l.type,l.lmode,
               s.sid,s.serial#,l.id1,l.id2,s.paddr,l.ctime,l.BLOCK
          from v$session s, v$lock l
         where s.sid = l.sid) ls,
         v$lock_type t,v$process p
 where o.object_id(+)=ls.id1
   -- and o.owner in ('XXX', 'XXXX')
   -- and o.object_name='XXXXX'
   and ls.type=t.type
   and ls.PADDR=p.ADDR
   -- and ls.ctime>60
 order by o.owner, o.object_name;
-- 查询用户产生的锁的相关信息:
-- 系统/库 用户名,如果库用户名为空,则代表sys
-- 对象名,对象名为 . 则代表sys,where条件含外链接,导致owner有可能为空
-- 子对象名,一般为空
-- 对象ID
-- v$lock中的ID1和ID2,ID1的含义并不一定是对象ID,因此对象ID有可能为空
-- 锁类型及其描述
-- 锁模式及其产生的原因
-- 锁产生的时间
-- 是否发生死锁
-- 杀死会话的SQL语句
-- 杀死进程的SHELL语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值