【问题标题】:Trying to drop the table getting error in Oracle [duplicate]试图删除在 Oracle 中出现错误的表 [重复]
【发布时间】:2016-05-27 11:08:50
【问题描述】:

我只是想删除表格但出现错误。我刚刚创建了它的 hbm 文件并签入了代码,因为服务器已经开始指向同一个数据库。看起来会话被锁定。我遇到了错误。

Error starting at line 1 in command:
alter table DM_PKG_TEMPLATE drop column INSP_STAGE_ID
Error report:
SQL Error: ORA-00054: resource busy and acquire with NOWAIT specified
00054. 00000 -  "resource busy and acquire with NOWAIT specified"
*Cause:    Resource interested is busy.
*Action:   Retry if necessary.

【问题讨论】:

  • 也许另一个事务没有提交?
  • 感谢您的快速回复。但我可以对该表执行选择查询
  • Select 会起作用.. 尝试插入/更新并告诉我它是否起作用.. 如果没有,那么这个表正忙于另一个事务(可能是另一个窗口或另一个用户)
  • 您可以从表中选择这一事实并不意味着其他一些事务没有从该表中更新/删除/插入。在 Oracle 中,作者不会阻止读者。
  • 在 Oracle 中,作者不会阻止读者,反之亦然。

标签: sql oracle drop-table


【解决方案1】:

执行给定的查询以检查您的表是否处于锁定状态。 如果锁定,则终止会话并删除列。

SELECT A.SID,A.SERIAL#,A.OSUSER,A.PROCESS,C.OBJECT_NAME
  FROM V$SESSION A,V$LOCKED_OBJECT B,DBA_OBJECTS C
 WHERE A.SID = B.SESSION_ID
   AND B.OBJECT_ID = C.OBJECT_ID
   AND C.OBJECT_NAME LIKE '%PDM_PKG_TEMPLATE%'

【讨论】:

  • 执行上述查询没有任何结果
猜你喜欢
  • 2016-01-01
  • 2021-05-04
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
相关资源
最近更新 更多