问题描述
你好,
我们在包-> 过程-> 中有光标,如下所示,
在声明部分-
在开始部分-
在过去的几个月里,我们在日志文件中收到错误-
xxxxxx中的Fehler (包)。xxxxxxx (过程) cur1: 打开ORA-00054: 重新存储源
这是德语,它翻译-
xxxxxx中的Fehler (包).xxxxxxx (过程) cur1: 打开ORA-00054: 资源占用和使用NOWAIT或timeout指定的请求已过期
您能否就如何处理此错误或避免需要做的事情提供帮助。
我们在包-> 过程-> 中有光标,如下所示,
在声明部分-
cursor cur1 is select * from abc where load = v_load --- load and v_load are number; for update of cust_no nowait;复制
在开始部分-
tabelle := stl.gtext('xyz', 'pr12345.cxx', 1); ---- 'cur1:open' open cur1 ; loop tabelle := stl.gtext('xyz', 'pr12345.cxx', 2); -- 'cur1:fetch' fetch cur1 into newrec; exit when cur1%notfound;复制
在过去的几个月里,我们在日志文件中收到错误-
xxxxxx中的Fehler (包)。xxxxxxx (过程) cur1: 打开ORA-00054: 重新存储源
这是德语,它翻译-
xxxxxx中的Fehler (包).xxxxxxx (过程) cur1: 打开ORA-00054: 资源占用和使用NOWAIT或timeout指定的请求已过期
您能否就如何处理此错误或避免需要做的事情提供帮助。
专家解答
这意味着另一个会话锁定了查询访问的行。
你可以通过运行看到这一点:
然后在另一个会话中尝试:
您将在第二个会话中不断收到此错误,直到第一个事务提交或回滚。
你如何确切地解决这个问题取决于你处理许多人同时更改相同数据的逻辑。
选项包括:
-告诉最终用户 “其他人正在更改这些数据,请稍后再试”
-删除nowait,因此第二个会话等待 (可能很长时间) 第一个事务完成。请注意,这可能会导致更新丢失。
-更改为更新等待N; 其中N是等待第一个会话结束的秒数
-重组应用程序,因此并发更改的可能性较小
这些都有各种各样的利弊,所以第一步是弄清楚为什么两个会话试图同时改变相同的行。这将有助于告知您该怎么做的选择。
你可以通过运行看到这一点:
create table t ( c1 int primary key, c2 int ); insert into t values ( 1, 1 ); commit; update t set c2 = 9999 where c1 = 1;复制
然后在另一个会话中尝试:
select * from t where c1 = 1 for update nowait; ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired复制
您将在第二个会话中不断收到此错误,直到第一个事务提交或回滚。
你如何确切地解决这个问题取决于你处理许多人同时更改相同数据的逻辑。
选项包括:
-告诉最终用户 “其他人正在更改这些数据,请稍后再试”
-删除nowait,因此第二个会话等待 (可能很长时间) 第一个事务完成。请注意,这可能会导致更新丢失。
-更改为更新等待N; 其中N是等待第一个会话结束的秒数
-重组应用程序,因此并发更改的可能性较小
这些都有各种各样的利弊,所以第一步是弄清楚为什么两个会话试图同时改变相同的行。这将有助于告知您该怎么做的选择。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
768次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
651次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
577次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
534次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
523次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
499次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
485次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
455次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
377次阅读
2025-05-05 19:28:36