oracle查看锁表语句及解锁方法

# oracle 查看锁表语句
SELECT
    sess.sid,
    sess.serial#,
    lo.oracle_username, -- 登陆账号名称
    lo.os_user_name,    -- 登录电脑名称
    ao.object_name,     -- 被锁表名
    lo.locked_mode      -- 死锁级别
FROM
    v$locked_object lo,
    dba_objects ao,
    v$session sess 
WHERE
    ao.object_id = lo.object_id 
死锁级别:
    0:none
    1:null 空
    2:Row-S 行共享(RS):共享表锁
    3:Row-X 行专用(RX):用于行的修改
    4:Share 共享锁(S):阻止其他DML操作
    5:S/Row-X 共享行专用(SRX):阻止其他事务操作
    6:exclusive 专用(X):独立访问使用
解锁语句:
alter system kill session '68,51'; -- 分别为SID和SERIAL

 

# 查看引起锁表的语句
SELECT
    A.USERNAME,
    A.MACHINE,
    A.PROGRAM,
    A.SID,
    A.SERIAL#,
    A.STATUS,
    C.PIECE,
    C.SQL_TEXT 
FROM
    V$SESSION A,
    V$SQLTEXT C 
WHERE
    A.SID IN ( SELECT DISTINCT T2.SID FROM V$LOCKED_OBJECT T1, V$SESSION T2 WHERE T1.SESSION_ID = T2.SID ) 
    AND A.SQL_ADDRESS = C.ADDRESS ( + ) 
ORDER BY
    C.PIECE;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值