Я пытаюсь добавить обнуляемый столбец в часто используемую таблицу в базе данных Oracle 10 OLTP, когда приложение работает и занято. Добавление обнуляемого столбца - это только изменение словаря данных, и поэтому любая блокировка таблицы удерживается только в течение короткого периода времени (который может обрабатываться системой).
Проблема в том, что мой ALTER TABLE
часто терпит неудачу с этим:
ORA-00054: resource busy and acquire with NOWAIT specified
Мой текущий подход заключается в том, чтобы запутать изменение, запустив его до тех пор, пока на столе не будет никаких блокировок. Это означает, что я не могу запустить такой скрипт в SQL * Plus полностью, но мне нужно скопировать и вставить каждый оператор и убедиться, что он работает.
Есть ли лучший способ?