当我在oracle sql-developer上尝试这个命令时:
delete from my_table;
我收到以下错误:
ORA-00054:资源繁忙并使用NOWAIT指定获取
我还没弄明白如何解决这个问题。
答案 0 :(得分:2)
某人或你自己(无意中)锁定了桌面。
查询表V$LOCKED_OBJECTS
以查找用户名(您希望OS_USER_NAME
)锁定它。
您可以要求用户解锁表格。他们必须提交/回滚他们的交易。如果他们无法这样做并允许你杀死他们的会话,你可以使用以下内容:
alter system kill session 'sid, serial#'
要杀死他们的会话,该会话锁定在您的桌子上{' sid
' &安培; ' serial#
'您必须通过查询v$session
,v$sqlarea
表来查找。
这也可以在SQL开发人员中完成,您可以从菜单Tools --> Monitor Sessions
中找到会话(如果您的用户可以访问元表)
右键单击正确的会话记录(非常重要)并选择标记为kill。一旦会话被杀死,您应该能够删除记录。
答案 1 :(得分:0)
检查数据库管理员。他们可以检查桌子上是否有任何事情发生。可能是有人在不同的会话中在桌子上表演。管理员可以终止会话。然后,您将能够删除/截断表格。