• Oracle 查看 对象 持有 锁 的情况 (添加了V$SQL视图,这样可以一起查出具体导致这种锁的SQL语句,一次性就搞定了)


    ORA-00054, 资源忙。 应该是表对象的锁没有释放。

    有关Oracle 锁的说明,参考:ORACLE锁机制 http://blog.csdn.net/tianlesoftware/article/details/4696896

     用如下SQL 查看一下系统中相关对象上锁的情况:
    SELECT distinct S.SID SESSION_ID,  
           S.STATUS,  
           S.USERNAME,  
           DECODE (LMODE,  
                   0' None ',  
                   1' Null ',  
                   2' Row-S(SS) ',  
                   3' Row-X(SX) ',  
                   4' Share',  
                   5'S/Row-X (SSX) ',  
                   6'Exclusive ',  
                   TO_CHAR (LMODE))  
              MODE_HELD,  
           DECODE (REQUEST,  
                   0' None ',  
                   1' Null ',  
                   2' Row-S(SS) ',  
                   3' Row-X(SX) ',  
                   4' Share',  
                   5'S/Row-X (SSX) ',  
                   6'Exclusive ',  
                   TO_CHAR (REQUEST))  
              MODE_REQUESTED,  
           O.OWNER || ' . ' || O.OBJECT_NAME || ' ( ' || O.OBJECT_TYPE || ' ) '  
              AS OBJECT_NAME,  
           S.TYPE LOCK_TYPE,  
           L.ID1 LOCK_ID1,  
           L.ID2 LOCK_ID2,  
           S2.SQL_TEXT  
      FROM V$LOCK L,  
           SYS.DBA_OBJECTS O,  
           V$SESSION S,  
           V$ACCESS A,  
           V$SQL S2  
     WHERE     L.SID = S.SID  
           AND L.ID1 = O.OBJECT_ID  
           AND S.SID = A.SID  
           AND S2.HASH_VALUE = S.SQL_HASH_VALUE  

           AND A.OBJECT = 'PROC_VALIDATE_RULE_V3';   


    该SQL 显示所有对象上的锁,如果要查某个具体的对象,可以根据OBJECT_NAME 字段进行一下过滤,找到对应的SID 之后去查V$SESSION 视图。

     

    该视图会显示session 对应的信息,包括终端的信息,如果找到了终端,可以让它提交或者回滚一下就OK了。 我这里是测试环境,直接把session kill 掉了。然后修改表就ok了。

     

    1. SQL>alter system kill session 'SID,SERIAL#'  


    效果如下:

     

     

    路在脚下
  • 相关阅读:
    MySQL 学习(六) InnoDB事务及MVCC
    MySQL学习(二) 存储过程
    一个二级缓存实例 (多级缓存)
    MySQL 学习(五) InnoDB架构
    验证POST接口是否可跨域(自用小工具,自用测试页面)
    用WindowsAppSDK(WASDK)优雅的开发上位机应用
    用PC windows作为Mac macos的扩展屏
    第一次使用webpack
    前端代码压缩工具closesure compiler
    JS代码操作CSS样式文件
  • 原文地址:https://www.cnblogs.com/shined/p/2588669.html
Copyright © 2020-2023  润新知