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

 

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


ORA-00054: 资源正忙,但指定以 NOWAIT 方式获取资源_第1张图片

 

 

分析:出现这种情况一般都是有锁记录,导致你无法操作表记录,所以需要查询出来当前锁这张表的进程,然后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;就可以正常执行了。

你可能感兴趣的:(ORA-00054: 资源正忙,但指定以 NOWAIT 方式获取资源)