Oracle 12c Добавление столбца в таблицу без значения по умолчанию занимает очень много времени
Я пытаюсь добавить новый столбец в существующую таблицу из примерно 30000 строк в нашей тестовой среде Oracle 12c R2, но он работает более часа и полностью заблокирован SQL Developer
Вот основной синтаксис, который я использовал. Я не указал никакого значения по умолчанию, так как оно не нужно и должно быть NULL по умолчанию.
ALTER TABLE "Schema"."Table" ADD "C_C6" VARCHAR2(8 BYTE)
Я пытался найти эту проблему, но большинство случаев, похоже, относятся к проблемам, когда люди пытаются указать значения по умолчанию, а я этого не делаю.
Я также временно отключил все триггеры, которые были у меня в таблице до запуска оператора Alter Table
Какие-либо предложения?
1 ответ
Похоже, вам нужно переопределение на основе редакции, которое позволяет создавать новую редакцию базы данных, создавать представление таблицы в старой редакции, переименовывать таблицу в старой редакции и в новой редакции добавлять столбец к переименованному таблицу, а затем перенести данные из старого издания в новое издание. Том Кайт дает полное объяснение по ссылке выше. Единственное время простоя будет несколько минут, чтобы переименовать таблицу в старом издании. И у вас есть полный контроль над тем, как вы переносили данные, так что вы не будете затягивать, но для таблицы на 30000 строк вполне вероятно, что блокировки вращали процессор.