ORA-00054 表被lock导致资源忙等待不能操作案例

1.现场状态
时间:2012年8月20日
数据库版本:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
操作系统平台:HP-UX
告警日志: more   alert_mdsoss.log
2.定位问题
报错现象:
ORA-00054: resource busy acquire with nowait specified        资源忙
协成日志报错:SQL ERR :insert into table GNTCPCNN12082015     不能插入表
3.分析原因
一般像这种情况可能是这个表正在被使用,有可能有lock暂时不能使用,在dba权限下查看一下是否有v$locked_object,有的话把session干掉

SQL> select * from v$locked_object;                                                                       
                                                                                                            
    XIDUSN    XIDSLOT     XIDSQN  OBJECT_ID SESSION_ID ORACLE_USERNAME  OS_USER_NAME    PROCESS  LOCKED_MODE
---------- ---------- ---------- ---------- ---------- ---------------- --------------- --------------------
        13         13     681477   79913476        855 MDSOSS          mdsdb2          12897              6
         7         41     600151   79914479        998 MDSOSS           npmuser         10468              3
         7         41     600151   79914483        998 MDSOSS           npmuser         10468              3
         7         41     600151   79914481        998 MDSOSS           npmuser         10468              3
        19         27     701115   79913681       1032 MDSOSS         mdsdb3          8658               6
        61         30     182840     153240         1059 MDSOSS         oracle             12738              3
        61         30     182840        212            1059 MDSOSS         oracle             12738              3
        61         30     182840        165            1059 MDSOSS         oracle             12738              3
        30          7     545652   79915059        1073 MDSOSS         npmuser         20387              3
        52         39     385940   79913551       1085 MDSOSS         mdsdb3          12960              6
        51         17     461665   79914748       1090 MDSOSS         npmuser         15454              3
        51         17     461665   79914756       1090 MDSOSS         npmuser         15454              3
        51         17     461665   79914763       1090 MDSOSS         npmuser         15454              3
        58         24     262815   79914375       1175 MDSOSS         npmuser         6369               3
        58         24     262815   79914380       1175 MDSOSS         npmuser         6369               3
        58         24     262815   79914378       1175 MDSOSS         npmuser         6369               3
        10         46     680893   79913459       1179 MDSOSS         mdsdb2          2581               6
                                                                                                           
17 rows selected                                                                                           
                                                                                                           
SQL>  select * from v$locked_object;                                                                       
                                                                                                           
    XIDUSN    XIDSLOT     XIDSQN  OBJECT_ID SESSION_ID ORACLE_USERNAME  OS_USER_NAME    PROCESS  LOCKED_MODE
---------- ---------- ---------- ---------- ---------- ---------------- --------------- --------------------
        42         22     507847   79915291        976 MDSOSS           npmuser         25324              3
        42         22     507847   79915263        976 MDSOSS           npmuser         25324              3
        42         22     507847   79915282        976 MDSOSS           npmuser         25324              3
         1          5     650009   79915671        989 MDSOSS           npmuser         1175               3
         1          5     650009   79915675        989 MDSOSS           npmuser         1175               3
         1          5     650009   79915676        989 MDSOSS           npmuser         1175               3
我进行了2次查找。第一次发现mdsdb2、mdsdb3用户操作的插入对象正在被锁定,并且锁的级别都是6级,级别非常高,导致资源被占用,如果此时在对表操作就会报ora-00054,后来查询了第二次,就没有mdsdb2、mdsdb3用户的锁对象了,此时就可以操作表了。

相关推荐