首页 > 代码库 > ORACLE操作表时”资源正忙,需指定nowait"的解锁方法

ORACLE操作表时”资源正忙,需指定nowait"的解锁方法

    ORACLE操作表时”资源正忙,需指定nowait"的解锁方法

问题:

       执行 drop table table_name 时,提示”资源正忙,需指定nowait"
      由于TB_PROJECT为设置主键造成只能查询而无法修改和删除的问题导致PL/SQL无响应,从而对此表一直处于锁定状态

分析:

      表示table_name表由某个用户操作时进行了锁定,必须先解锁才能继续进行操作

 解决:

      1> 通过此语句查询正在锁定的SESSION_ID:

SELECT  SESSION_ID   FROM   V$LOCKED_OBJECT,USER_OBJECTS  WHERE   V$LOCKED_OBJECT.OBJECT_ID   =   USER_OBJECTS.OBJECT_ID 

      2> 通过第一步查询到的SESSION_ID查询SERIAL#

SELECT SERIAL# FROM V$SESSION  WHERE SID=‘SESSION_ID‘(此处为上面查询到的‘SESSION_ID)

      3> 根据1,2步查询到的SESSION_ID和SERIAL#执行ALTER   SYSTEM   KILL   SESSION  ‘48,2476‘(48为SESSION_ID的值, 2476为SERIAL#的值)

ORACLE操作表时”资源正忙,需指定nowait"的解锁方法