アーカイブ戦略を見てください-特定のデータセットをアーカイブする必要があります。
挿入/削除ルーチンではなく、パーティション交換を使用することを考えていました。
アーカイブされるテーブルは、日付でパーティション化された間隔範囲であり、国のリストサブパーティションがあります。
交換を分割したいのは特定の国向けです。
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;
特定の「既知の」サブパーティションを交換できます。
Oracle 11gで「for」ロジックを使用できることは知っていますが、構文を機能させることができません。
何か案は?