Oracle: добавление, переименование и удаление столбцов в действующей базе данных - PullRequest
1 голос
/ 03 декабря 2010

Какие операции разрешены и запрещены для работающей базы данных Oracle?В частности, как это обрабатывается при добавлении, удалении и переименовании столбцов?

Ответы [ 4 ]

2 голосов
/ 03 декабря 2010

Онлайн-изменения (т. Е. Пока активны другие сеансы) можно выполнить с помощью DBMS_REDEFINITION (описано здесь , здесь и здесь )но это особенность Enterprise Edition

2 голосов
/ 03 декабря 2010

Вы можете сделать почти все подобные изменения на работающем экземпляре. Конечно, я бы не советовал делать это с ПОЛЬЗОВАТЕЛЯМИ в системе.

Тем не менее, Oracle 11.2 имеет потрясающую новую функцию под названием EBR, Edition-Based-Redefinition. Думайте об этом как о возможности «вносить» и «откатывать» изменения DDL. Это может быть полезно в зависимости от обстоятельств.

1 голос
/ 03 декабря 2010

Вы можете добавлять, удалять и переименовывать столбцы без проблем.

Предостережения,

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

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

1 голос
/ 03 декабря 2010

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

у вас будет меньше проблем, если других пользователей нетзапросы runnign или задания не выполняются в фоновом режиме tc.

...