Я готов взяться, опишите задачу подробней.
create table Tmp1(
id varchar2(30),
kind varchar2(3),
dt date,
lbl varchar2(4000)
)partition by range(kind,dt)(
partition aaOld values less than('aa',date'2000-01-01'),
partition aa2000 values less than('aa',date'2001-01-01'),
partition aa2001 values less than('aa',date'2002-01-01'),
partition aa2002 values less than('aa',maxValue),
partition abOld values less than('ab',date'2000-01-01'),
partition ab2000 values less than('ab',maxValue)
);
;
begin
Tbl_mrgParts('TMP1','
<parts cols="kind,dt">
<part name="aaOld" vals="aa|min"/>
<part name="aa2000" vals="aa|2000-01-01"/>
<part name="aa2001" vals="aa|2001-01-01"/>
<part name="aa2002" vals="aa|2002-01-01"/>
<part name="aa2003" vals="aa|2003-01-01"/>
<part name="abOld" vals="ab|min"/>
<part name="ab2000" vals="ab|2000-01-01"/>
</parts>
');
end;
alter table Tmp1 split partition aa2002 at('aa',date'2003-01-01')into(partition aa2002, partition aa2003);