Я унаследовал Oracle БД, где таблицы и их индексы стали невероятно большими. Я пытаюсь динамически разделить таблицу по диапазону (каждые 30 дней). Я сделал следующее:
alter table <TABLE> modify
partition by range (<DATE>) interval (numtodsinterval(30, 'day'))
(partition <TABLE>_PART values less than (date'2020-01-01')
)
update indexes
(<TABLE>_<DATE>_IDX1 local,
<TABLE>_IDX1 global partition by range (<DATE>)
(partition IP1 values less than (maxvalue))
);
Я получаю сообщение об ошибке "ORA-14427: таблица не поддерживает изменение в разделенном состоянии DDL"
Я проверил, что
- TABLE не разбит на разделы (сделал выделение, dba_tables. * Из dba_tables, где table_name = 'TABLE')
- У него нет зависимостей представления или материализованного представления
- Я обнаружил (используя all_dependencies), что существуют жесткие зависимости из-за того, что некоторые атрибуты являются массивом или типом геометрии
Есть мысли о том, как обойти это?