错误ORA-00054资源正忙,在oracle11g中指定了NOWAIT或超时已过期

错误ORA-00054资源正忙,在oracle11g中指定了NOWAIT或超时已过期,oracle11g,oracle-sqldeveloper,database-administration,Oracle11g,Oracle Sqldeveloper,Database Administration,我正在使用oracle11g数据库。我有一个名为phonenumbers_tbl的表,我在该表上执行了DROP命令。但它正在返回错误资源忙碌,并在指定NOWAIT或超时过期的情况下获取。之后,我使用命令altersession set ddl_lock_timeout=600更改会话,然后再次尝试删除该表。但此错误仍然会再次持续请先尝试执行此操作,并检查其他会话或您的会话中是否有人在该表上设置了锁。如果您已在该表上设置了锁,请尝试执行提交/回滚。如果其他人设置了锁,请询问他/她或您是否有权终止他

我正在使用oracle11g数据库。我有一个名为phonenumbers_tbl的表,我在该表上执行了DROP命令。但它正在返回错误资源忙碌,并在指定NOWAIT或超时过期的情况下获取。之后,我使用命令altersession set ddl_lock_timeout=600更改会话,然后再次尝试删除该表。但此错误仍然会再次持续

请先尝试执行此操作,并检查其他会话或您的会话中是否有人在该表上设置了锁。如果您已在该表上设置了锁,请尝试执行提交/回滚。如果其他人设置了锁,请询问他/她或您是否有权终止他的会话。然后删除该表

           select session_id "sid",SERIAL#  "Serial",
    substr(object_name,1,20) "Object",
      substr(os_user_name,1,10) "Terminal",
      substr(oracle_username,1,10) "Locker",
      nvl(lockwait,'active') "Wait",
      decode(locked_mode,
        2, 'row share',
        3, 'row exclusive',
        4, 'share',
        5, 'share row exclusive',
        6, 'exclusive',  'unknown') "Lockmode",
      OBJECT_TYPE "Type"
    FROM
      SYS.V_$LOCKED_OBJECT A,
      SYS.ALL_OBJECTS B,
      SYS.V_$SESSION c
    WHERE
      A.OBJECT_ID = B.OBJECT_ID AND
      C.SID = A.SESSION_ID
    ORDER BY 1 ASC, 5 Desc

对!!最后,我得到了一个解决方案,将表phonenumber\u tbl移动到另一个表空间系统并删除了该表。

首先获取表锁会话,然后终止会话
           select session_id "sid",SERIAL#  "Serial",
    substr(object_name,1,20) "Object",
      substr(os_user_name,1,10) "Terminal",
      substr(oracle_username,1,10) "Locker",
      nvl(lockwait,'active') "Wait",
      decode(locked_mode,
        2, 'row share',
        3, 'row exclusive',
        4, 'share',
        5, 'share row exclusive',
        6, 'exclusive',  'unknown') "Lockmode",
      OBJECT_TYPE "Type"
    FROM
      SYS.V_$LOCKED_OBJECT A,
      SYS.ALL_OBJECTS B,
      SYS.V_$SESSION c
    WHERE
      A.OBJECT_ID = B.OBJECT_ID AND
      C.SID = A.SESSION_ID
    ORDER BY 1 ASC, 5 Desc
选择a.sid、a.serial、a.username、c.os\u user\u name、a.terminal、, b、 object\u id,substrb.object\u name,1,40 object\u name 来自v$session a、dba_对象b、v$locked_对象c 其中a.sid=c.session\u id b.object_id=c.object_id


更改系统终止会话“sid,串行”

:这不是解决方案,它是另一种选择:,请尝试找出这会给您带来nowait错误的原因。