问题标签 [ora-00054]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11809 浏览

oracle - ORA-00054 错误的原因是什么?

来自 Oracle 的文档:-

在我们的代码中,我们发出一个SELECT FOR UPDATE NOWAIT命令来锁定我们将要更新的行。

现在的逻辑是,如果它返回 SQL 错误54,则假定另一个用户正在尝试更新同一条记录。这个逻辑有效吗?

从 Oracle 的文档看来,如果数据库不堪重负,那么这也可能导致引发此错误。

当我们只使用上面的 SQL 命令时,这个错误的可能原因是什么?

0 投票
3 回答
14585 浏览

oracle - How do I find what is causing ORA-00054?

For past some time I have noticed that we get ORA-00054 error while trying to issue SELECT ... FOR UPDATE NOWAIT, during large number of concurrent updates to the db. This our development system and we really do not have any other user, or at least that is what we believe.

We have been through the logs of our application and it seems everything is in order; no threads are trying to update the same row.

How can I configure Oracle db to generate a log on which would let me know the user id which holds the lock when this error occurred?

0 投票
4 回答
1816 浏览

sql - SQL Developer - 删除 90,000 行

可能重复:
ORA-00054:资源繁忙并使用指定的 NOWAIT 获取

我在 sql dev 中有一个表,我想从中清除所有数据。大约有 90,000 多行。我只想删除数据而不是表。

我试过的一切都没有奏效,即删除*、截断。我不断地遇到

ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取或超时已过期

错误

0 投票
1 回答
2048 浏览

plsql - ORA-00054: 资源繁忙并获取指定的 NOWAIT 或超时已过期 AWSBIS308I 作业结束

我执行了一个包含 Oracle 过程的脚本,但我收到了以下错误消息:

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired AWSBIS308I End of job

这是生成错误的过程部分:

0 投票
0 回答
356 浏览

oracle - Oracle: SQL Error: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

I have a simple DDL script: First the DROP TABLE statements, then the CREATE and then the INSERT. It worked all the time but all of a sudden I get this error message when running the script:

Error report -

How can i fix this?

0 投票
1 回答
14150 浏览

sql - Getting ORA-00054 error in SQL Developer

I'm getting this error when trying to DROP a table.

I've googled and googled and tried all possible solutions to the best of my abilities but none of them have worked for me so far.

This is the error I'm getting:

Keep in mind I'm not that knowledgable about SQLDeveloper or SQL itself so please try and be as elaborate as possible.

Thank you!

0 投票
2 回答
513 浏览

oracle - 一张桌子可以被另一张桌子锁定吗?

我们在 oracle 11g 数据库上遇到了关于表锁定的问题。

我们有一个通过 sql*plus 执行的过程,它截断一个表,比如说 table1。我们有时会收到 ORA-00054: resource busy and acquire with NOWAIT error during the procedure at the part of the part of the table is to be truncated. 我们有时会收到 ORA-00054: resource busy and acquire with NOWAIT error during the procedure at the part of the part of the table is to betruncated. 我们有一个位于 tomcat 服务器中的 webapp,当重新启动时(从 tomcat 终止与数据库的会话),该过程可以重新成功执行。在webapp的源代码中没有使用table1,甚至在select中也没有使用,但是table1的很多父表都是。

那么是否有可能对其父表之一的未提交更新导致锁定?如果是这样,关于如何测试它的任何建议?在我们遇到问题时,我已经与 DBA 进行了核对,但他无法获得阻塞过程的会话和导致锁定的语句。

0 投票
1 回答
466 浏览

oracle - Oracle ORA-00054 但可能没有锁

我有一个遗留代码正在执行以下操作:

它正在交换 2 个表 A 和 C。

问题:第三个alter table DDL抛出错误:

ORA-00054 资源忙

我不明白前两个 DDL 之后怎么可能有锁?此时,每个事务都应该已经提交。

它经常发生,但并非总是如此——有时有效,有时无效。

其他会话不可能在交换期间更改此表数据 - 首先这是非常短的操作,其次 - 只有一个表(表 A)真正使用,第二个更像存档,所以没有人在执行任何 DML它。即使我们假设不太可能的情况是有人确实设法连接并锁定了某些东西——它的时间太短了,我可以理解它是否发生过一次,但它发生在每 2-3 次交换之后。

我没有任何线索。重命名表后是否有可能一些旧锁仍然处于活动状态?

谢谢

0 投票
1 回答
255 浏览

c# - 运行程序后数据库表被锁定

我需要向TBL_LOAN_DETAILS表中插入数据。当调用LoanDetails()这些数据需要插入到表中的方法时,InTBL_LOAN_DETAILS ID是自动递增的。在将数据插入到之后,TBL_LOAN_DETAILS我需要将该记录ID作为参数传递给另一个称为CribProcess()within 的方法LoanDetails()。在这再次经过一些计算/逻辑之后,我需要更新TBL_LOAN_DETAILS. 为了实现这一点,我使用了以下代码。(我无法在这里粘贴完整的代码,因为stackoverflow阻止了它,所以我使用pastebin)。我对该行程序设置了一个刹车点,该行 lAEntities.TBL_LOAN_DETAILS.Add(tBlLoanDetails);程序不在此行之后运行。lAEntities.SaveChanges();

我的部分代码:请使用链接检查我的完整代码。

完整代码在这里

运行程序后,TBL_LOAN_DETAILS表得到锁定,这意味着,当我尝试使用 oracle sql developer 删除表时,此 oracle 错误消息显示。

ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取或超时已过期