查询表的锁

1.使用表名,在v$locked_object l,dba_objects o,v$session s级联查询该表是否锁住了。

SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,

o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
AND o.OBJECT_NAME LIKE UPPER('ti_order_fee_load_511')     ---要查询的表名

ORDER BY o.object_id,xidusn DESC

2.如果查出结果,那表名该表被锁住了。

alter system kill session '1025,12435' ; --即为上面查出的SID,SERIAL#字段。

即可杀掉锁住该表的进程。

3.杀掉并不表示改锁已解除。oracle会对原有进程的操作进行rollback。

SELECT a.used_ublk
FROM v$transaction a, v$session b     
WHERE a.addr = b.taddr AND b.sid = 1077  ;   ---即为上面查出来的SID字段。

如果查出为0或者无记录,则表示回滚完。否则直到为0表示回滚完。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值