IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]ORA-00054: 资源正忙,但指定以 NOWAIT 方式获取资源

    mchdba发表于 2016-07-09 14:01:49
    love 0

     

    执行报错 ORA-00054:资源正忙,但指定以 NOWAIT 方式获取资源,或者超时失效,如02.png所示:



     

     

    分析:出现这种情况一般都是有锁记录,导致你无法操作表记录,所以需要查询出来当前锁这张表的进程,然后kill释放掉就ok了。

     

     

    查询锁表进程的sql语句:

    SELECT/*+ rule */

               s.username,

              decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,

              o.owner,

              o.object_name,

              o.object_type,

              s.sid,

              s.serial#

         FROM gv$session s, gv$lock l, dba_objects o

        WHERE l.sid = s.sid

          AND l.id1 = o.object_id(+)

          AND s.username isNOTNULL

          AND O.OWNER='POWERDESK'

       ;

     

     

    查询得出有2个TABLE LOCK记录,如下:

     

     

    执行kill释放掉就ok了:

    SQL>altersystemkillsession   '954,33493';                              

     

    System altered

     

    SQL>

     

     

    然后再执行truncate table zz_bis_store_20160101;就可以正常执行了。



沪ICP备19023445号-2号
友情链接