Добавление столбца без данных в большую таблицу в Oracle, как правило, происходит очень быстро. Нет временной копии данных и нет необходимости перестраивать индексы. Замедление обычно возникает, когда вы хотите добавить столбец в большую таблицу и засыпать данные в этот новый столбец для всех существующих строк, поскольку теперь вы говорите об операторе UPDATE, который влияет на большое количество строк.
Добавление столбцов может привести к миграции строки с течением времени. Если у вас есть блок, заполненный на 80% четырьмя строками, и вы добавляете столбцы, которые со временем увеличивают размер каждой строки на 30%, вы в конечном итоге достигнете точки, когда Oracle должен переместить одну из четырех строк в другую блок. Он делает это, оставляя указатель на новый блок в старом блоке, что заставляет операции чтения в этой перенесенной строке требовать больше операций ввода-вывода. Устранение перенесенных строк может быть несколько дорогостоящим, и, хотя, как правило, можно обойтись без простоев, если вы используете корпоративную версию, обычно проще, если у вас есть небольшое время простоя. Но миграция строк - это то, о чем вам обычно нужно беспокоиться только в будущем. Если вы знаете, что в некоторых таблицах размер строк может значительно увеличиться в будущем, вы можете заранее решить проблему, указав для таблицы больший параметр PCTFREE.