Создать ошибку раздела - Подсказка: если столбец в настоящее время не содержит нулей, продвиньте AHM
-
21-12-2019 - |
Вопрос
Я пытаюсь разделить мою существующую таблицу к году. (Нет существующих партий)
alter table test_table PARTITION BY EXTRACT (year FROM date_c);
.
Но есть некоторая ошибка
Rollback 2628: столбец «DATE_C» в разделе путем выражения не допускается, поскольку он содержит нулевые значения ** Подсказка: если в настоящее время столбец в настоящее время не содержит нуля, продвиньте AHM и очистите нули от векторов удаления перед изменением разделения **
Столбец не имеет никакого нуля, так что следовали подсказку.Я продвинул Ахм сейчас.Но как очистить нули от удаления векторов?
Решение
После установки AHM (древний исторический маркер) к наибольшей допустимой стоимости вы можете использовать PURGE_TABLE()
для постоянного удаления данных удаления данных из физического хранения.
the MAKE_AHM_NOW()
Функция продвигает эпохуи выполняет операцию по перемещению во всех проекциях.АХМ затем установлен на LGE (последнюю хорошую эпоху).На данный момент любые исторические данные (включая векторы удаления) будут потеряны, а откат не возможен.Он делает не автоматически очищать старые данные.
Другие советы
Похоже, я должен очистить данные после настройки AHM к теперь () (я предполагал, что настройка AHM к теперь () автоматически заботится о очищении более старых данных).