Oracle 12.2. Динамическое разбиение нераспределенной таблицы - PullRequest
2 голосов
/ 15 января 2020

Я унаследовал 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"

Я проверил, что

  1. TABLE не разбит на разделы (сделал выделение, dba_tables. * Из dba_tables, где table_name = 'TABLE')
  2. У него нет зависимостей представления или материализованного представления
  3. Я обнаружил (используя all_dependencies), что существуют жесткие зависимости из-за того, что некоторые атрибуты являются массивом или типом геометрии

Есть мысли о том, как обойти это?

...