Oracle 12c Добавление столбца в таблицу без значения по умолчанию занимает очень много времени - PullRequest
0 голосов
/ 21 февраля 2019

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

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

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

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

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

Есть предложения?

1 Ответ

0 голосов
/ 22 февраля 2019

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

...