【发布时间】:2015-12-08 22:07:41
【问题描述】:
当我在 oracle sql-developer 上尝试这个命令时:
delete from my_table;
我收到以下错误:
ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取
我还没有想出如何解决这个问题。
【问题讨论】:
当我在 oracle sql-developer 上尝试这个命令时:
delete from my_table;
我收到以下错误:
ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取
我还没有想出如何解决这个问题。
【问题讨论】:
某人或您自己(无意中)在桌子上有一把锁。
查询表V$LOCKED_OBJECTS 以查找锁定它的用户名(您可能希望OS_USER_NAME)。
您可以要求用户解锁表。他们将不得不提交/回滚他们的事务。如果他们无法这样做并允许您终止他们的会话,您可以使用以下方法:
alter system kill session 'sid, serial#'
要杀死他们在您的表上锁定的会话,其中“sid”和“serial#”是您必须通过查询v$session,v$sqlarea 表找到的东西。
这也可以在 SQL 开发人员中完成,您可以从菜单 Tools --> Monitor Sessions 中找到会话(如果您的用户可以访问元表)
右键单击正确的会话记录(非常重要)并选择 mark for kill。一旦会话被终止,您应该能够删除记录。
【讨论】:
V$LOCKED_OBJECTS 表的必要权限
与数据库管理员核实。他们可以检查桌子是否有任何问题。可能是有人在不同的会话中在桌子上表演某事。管理员可以终止会话。然后,您将能够删除/截断表格。
【讨论】: