in an oracle 19c database, on a key value table I've defined a partition on the load timestamp and subpartitions on custom sets of columns.
create table mytable
(
load_Dts timestamp(6) not null,
segment VARCHAR2(4000),
field_ident VARCHAR2(4000),
value VARCHAR2(4000)
)
partition by list (LOAD_DTS) AUTOMATIC
SUBPARTITION by LIST (FIELD_IDENT)
SUBPARTITION template
(
SUBPARTITION G VALUES ('GD161','GD171'),
SUBPARTITION M VALUES ('MD020','MD031'),
SUBPARTITION OTH VALUES (DEFAULT)
)
(
partition P0 values (NULL)
);
That results in e.g. partition SYS_P242603 the subpartitions SYS_P242603_G, SYS_P242603_M and SYS_P242603_OTH.
How can I move a new attribute e.g. GD100 that is stored in the default subpartition SYS_P242603_OTH to subpartition SYS_P242603_G?
I've already altered the subpartition template accordingly and tried to split the value GD100 from SYS_P242603_OTH (wanted to merge it later to SYS_P242603_G) but with no success - it throws ORA-14400 error.
ALTER TABLE mytable SPLIT SUBPARTITION SYS_P242603_OTH VALUES ('GD100') INTO
( SUBPARTITION SYS_P242603_G_TEMP ,
SUBPARTITION SYS_P242603_OTH
)
ONLINE;