Рассмотрим стратегию архивирования - где мы должны архивировать определенный набор данных.
Вместо процедуры вставки / удаления - я думал об использовании обмена разделами.
Таблица, которая должна быть заархивирована, представляет собой диапазон интервалов, разбитый по дате, с подразделом списка по стране.
Это для конкретных стран, которые я хочу обменять на разделы.
create table
test_table
(tbl_id number,
country varchar2(2),
sales_dt date,
volume number)
partition by range (sales_dt) interval (NUMTOYMINTERVAL(1,'Month'))
subpartition by list (country)
Subpartition template
(subpartition p_ireland values ('IR'),
subpartition p_france values ('FR'),
subpartition p_other values (DEFAULT))
(partition before_2008 values less than (to_date('01-JAN-2008','DD-MON-YYYY')));
Загруженные данные правильно распределяются по разделам и подразделам. Все имена разделов сгенерированы системой.
Когда я перехожу к обмену разделами для всех подразделов FR - я не могу определить логику.
С использованием
Alter table test_table
exchange subpartition system_generated_name
with table TEST_TABLE_ARCH;
Я могу поменять местами определенный «известный» подраздел.
Я знаю, что вы можете использовать логику for с Oracle 11g, но не можете заставить синтаксис работать.
Любые идеи?