Какие операции разрешены и не разрешены в живой базе данных Oracle? В частности, как это обрабатывается при добавлении, удалении и переименовании столбцов?Oracle: добавление, переименование и удаление столбцов в живой базе данных
ответ
Вы можете добавить, удалить и переименовать столбцы без проблем.
Предостережение,
добавление столбца со значением по умолчанию заставляет базу данных выдавать оператор обновления для существующих строк. Будьте осторожны на больших столах или нагрузка будет всплеска.
переименовать столбец может разорвать ваше приложение. Планируйте это, но в противном случае вы должны быть в порядке. Также поймите, что вы будете генерировать ошибки для запросов, которые пытаются получить доступ к столбцу, если вы не планируете правильно.
Вы можете сделать почти все изменения, подобные этому, в исполняемом экземпляре. Конечно, я бы не рекомендовал делать это с ПОЛЬЗОВАТЕЛЯМИ в системе.
Оказалось, что у Oracle 11.2 есть новая функция-убийца, называемая EBR, Edition-Based-Redefinition. Думайте об этом как о возможности «совершить» и «откатить» DDL-изменения. Это может быть полезно, в зависимости от обстоятельств.
Если бы у меня была необходимость сделать это (особенно на большой высокоиспользуемой таблице), я бы определенно планировал задачу, когда пользователи не находятся в системе или закрывают приложение для окна обслуживания. – HLGEM 2010-12-02 21:59:30
EBR является массовым комплексом и является дополнительным вариантом лицензии. Я могу придумать только несколько случаев, когда это практично. – erbsock 2010-12-03 13:27:57
вы можете делать все это. если в базе данных обнаружена причина, запрещающая изменение, вы получите хороший nastygram с крутым кодом ошибки, который вы можете проверить, что вам нужно сделать дальше.
у вас будет меньше проблем, если нет других пользователей runnign запросов или нет заданий, выполняющихся в фоновом режиме tc.
Online изменения (то есть в то время как другие сеансы активны) можно сделать с помощью DBMS_REDEFINITION (описано here, here и here), но это является Enterprise Edition feature
- 1. Добавление и удаление столбцов
- 2. r удаление и переименование столбцов после str_split
- 3. Удаление индексов перед обновлением в живой базе данных
- 4. Добавление ограничения в базе данных Oracle
- 5. Удаление и переименование файла
- 6. Добавление/удаление столбцов в ListView
- 7. Задание и печать столбцов в базе данных Oracle
- 8. Oracle - Добавление столбцов в таблицу выполняется навсегда
- 9. Переименование и удаление файлов
- 10. Oracle: переименование заголовков столбцов из хранимой процедуры
- 11. Синхронизация данных Oracle в живой среде
- 12. Запуск mysqldump в живой базе данных
- 13. Условное переименование столбцов фрейма данных
- 14. Удаление строки в базе данных
- 15. Переименование столбцов в Python
- 16. Обновление данных с новым запросом и добавление/удаление столбцов
- 17. Переименование индекса и столбцов (pandas)
- 18. Удаление нескольких столбцов в таблице в базе данных. (rails)
- 19. Удаление папки и повторное добавление ее позже через переименование
- 20. Visual Studio SDK - обработка файлов Добавление, удаление и переименование событий
- 21. Является ли частичное удаление значений столбцов в базе данных SQL?
- 22. Дублирование и переименование файла и сохранение имени в базе данных
- 23. Переименование нескольких элементов в базе данных
- 24. Переименование подмножества всех столбцов в кадре данных
- 25. Переименование разделов в ORACLE
- 26. обновление и удаление строк в базе данных
- 27. Безопасно ли выполнять миграцию в живой базе данных?
- 28. Android - добавление/удаление/обновление записей в базе данных путем кодирования
- 29. JPA и порядок столбцов в базе данных
- 30. Удаление строк в базе данных
Я был бы крайне осторожен в переименовании столбцов. Есть много вещей, которые вы могли бы разбить, делая это. – HLGEM 2010-12-02 21:59:56