Oracle 12c Добавление столбца в таблицу без значения по умолчанию занимает очень много времени

Я пытаюсь добавить новый столбец в существующую таблицу из примерно 30000 строк в нашей тестовой среде Oracle 12c R2, но он работает более часа и полностью заблокирован SQL Developer

Вот основной синтаксис, который я использовал. Я не указал никакого значения по умолчанию, так как оно не нужно и должно быть NULL по умолчанию.

ALTER TABLE "Schema"."Table" ADD "C_C6" VARCHAR2(8 BYTE)

Я пытался найти эту проблему, но большинство случаев, похоже, относятся к проблемам, когда люди пытаются указать значения по умолчанию, а я этого не делаю.

Я также временно отключил все триггеры, которые были у меня в таблице до запуска оператора Alter Table

Какие-либо предложения?

1 ответ

Похоже, вам нужно переопределение на основе редакции, которое позволяет создавать новую редакцию базы данных, создавать представление таблицы в старой редакции, переименовывать таблицу в старой редакции и в новой редакции добавлять столбец к переименованному таблицу, а затем перенести данные из старого издания в новое издание. Том Кайт дает полное объяснение по ссылке выше. Единственное время простоя будет несколько минут, чтобы переименовать таблицу в старом издании. И у вас есть полный контроль над тем, как вы переносили данные, так что вы не будете затягивать, но для таблицы на 30000 строк вполне вероятно, что блокировки вращали процессор.

Другие вопросы по тегам