我正在尝试在应用程序运行且繁忙时向 Oracle 10 OLTP 数据库中的常用表添加一个可为空的列。添加可为空的列只是数据字典的更改,因此任何表锁都只保留很短的时间(可以由系统处理)。
问题是我ALTER TABLE
经常失败:
ORA-00054: resource busy and acquire with NOWAIT specified
我目前的方法是通过运行它来阻止更改,直到表上碰巧没有锁为止。这意味着我不能在 SQL*Plus 中完整地运行这样的脚本,而是需要复制和粘贴每个语句并确保它有效。
有没有更好的办法?