У нас есть VLDB около 2 ТБ, и таблицы разделены на каждую дату. У нас также есть отображение индекса для этих разделов. Но за 2019 год все данные до 01 октября 2019 года попадают в один раздел, так как из-за опечатки был создан один подраздел с высоким значением 10.01.2019.
Мы пытаемся исправить это с помощью «Разделить раздел», то есть переместить данные до 10 февраля 2019 года в один раздел, а затем удалить пустой раздел и создать отдельные разделы для каждой даты. Это работает нормально.
Проблема связана с сопоставлением индексов, так как уже есть сопоставления с 1 октября по 31 декабря, и мы не можем их удалить. Итак, мы пытались создать сопоставление с 11 февраля по 30 сентября. Сценарий для этого занимает очень много времени из-за объема данных. А также после этого индексы переходят в НЕИСПОЛЬЗУЕМОЕ состояние, и когда мы пытаемся перестроить, это занимает много времени!
Есть ли лучший способ сделать это.
ОБРАЗЕЦ КОДА-
CREATE TABLE My_Table (
id NUMBER(9,0) NOT NULL,
source_system VARCHAR(20),
eod_date NUMBER(9,0) NOT NULL,
other columns
)
TABLESPACE XYZ001td
PARTITION BY LIST (source_system)
SUBPARTITION BY RANGE (
eod_date
)
(
PARTITION p_XYZ VALUES ('XYZ')
NOCOMPRESS
(
SUBPARTITION XYZ_20181227 VALUES LESS THAN (20181228) TABLESPACE XYZ_20181227_td,
SUBPARTITION XYZ_20181228 VALUES LESS THAN (20181229) TABLESPACE XYZ_20181228_td,
SUBPARTITION XYZ_20181229 VALUES LESS THAN (20181230) TABLESPACE XYZ_20181229_td,
SUBPARTITION XYZ_20181230 VALUES LESS THAN (20181231) TABLESPACE XYZ_20181230_td,
SUBPARTITION XYZ_20181231 VALUES LESS THAN (20190101) TABLESPACE XYZ_20181231_td
**SUBPARTITION XYZ_20191001 VALUES LESS THAN (20191002) TABLESPACE XYZ_20191001_td,**
SUBPARTITION XYZ_20191002 VALUES LESS THAN (20191003) TABLESPACE XYZ_20191002_td,
SUBPARTITION XYZ_20191003 VALUES LESS THAN (20191004) TABLESPACE XYZ_20191003_td,
)
)
/
CREATE INDEX inx_my_table_01
ON My_table (
source_system,
eod_date
)
TABLESPACE XYZ001td
GLOBAL PARTITION BY HASH (
source_system,
eod_date
)
(
PARTITION XYZ_20181227
TABLESPACE XYZ_20181227_ti
LOGGING,
PARTITION XYZ_20181228
TABLESPACE XYZ_20181228_ti
LOGGING,
PARTITION XYZ_20181229
TABLESPACE XYZ_20181229_ti
LOGGING,
PARTITION XYZ_20181230
TABLESPACE XYZ_20181230_ti
LOGGING,
PARTITION XYZ_20181231
TABLESPACE XYZ_20181231_ti
LOGGING
)