• 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#'  


    效果如下:

     

     

    路在脚下
  • 相关阅读:
    Sharding-JDBC(三)3.1.0版本实践
    Sharding-JDBC(二)2.0.3版本实践
    Sharding-JDBC(一)简介
    Java并发(六)线程池监控
    Java并发(五)线程池使用番外-分析RejectedExecutionException异常
    Java并发(四)线程池使用
    Java并发(三)线程池原理
    Java并发(二)异步转同步
    tarjan+概率
    线段树(种树)
  • 原文地址:https://www.cnblogs.com/shined/p/2588669.html
Copyright © 2020-2023  润新知