【问题标题】:oracle db lock issue, commitoracle 数据库锁定问题,提交
【发布时间】:2010-02-03 02:10:02
【问题描述】:

这是 oracle 10g。如果我从 sqlplus 对表发出更新但不提交,那么在另一个会话中更新同一行并尝试提交,它只会挂起,直到我提交第一个。我知道有些人会争辩说这是锁定机制,但我们拥有的应用程序做同样的事情并且用户被阻止了。

避免此问题的最佳方法是什么?

【问题讨论】:

  • 没有参数。它锁定机制。

标签: oracle oracle10g locking


【解决方案1】:

您可以使用 NOWAIT 选项发出锁定,而不是仅仅尝试更新,例如

SELECT * FROM mytable
WHERE xxx
FOR UPDATE NOWAIT;

如果该行被其他用户锁定,Oracle 将立即引发ORA-00054: resource busy and acquire with NOWAIT specified

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2016-11-07
    • 2011-10-20
    相关资源
    最近更新 更多