
lets say you have table purchase containing data of your products sales.
assuming you are using oracle and its support partitioning.
actually you’ve created daily partitions for each days transaction.
but somehow you missed a day and skip to the next day. e.g you’ve created partition sep_1_08 to sep_10_08, but you forgot to create the sep_7_08 partition.
normally if you have data that point to that missed partition it will return error :
ORA-14400: inserted partition key does not map to any partition
thats true. BUT ONLY if sep_7_08 is the last partition on table purchase.
BUT if THERE IS partition next to sep_7_08, oracle will automatically divert it to the nearest partition (mostly next partition available).
Yes, it will not return error and data transaction date 2008/09/07 will be inserted to partition sep_8_08 instead! aha!
now lets assume that you actually believe what i say. 
the data is now mixed one with another. cant use partition name to determine dtm no longer..
so whats the solution?
relax.. hehehe, its ORACLE anyway… what thing oracle cant do huh?
~
try : alter table split partition.
heres the example for the case :
ALTER TABLE purchase
SPLIT PARTITION sep_8_08 AT (TO_DATE(‘ 2008-09-08 00:00:00′, ‘SYYYY-MM-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIAN’))
INTO (
PARTITION sep_7_08 TABLESPACE tblspace_07 ,
PARTITION sep_8_08 TABLESPACE tblspace_08 )
PARALLEL ( DEGREE 9 );
some explanations :
ALTER TABLE purchase
i guess theres nothing to explain here, cristal clear right?
SPLIT PARTITION sep_8_08 AT (TO_DATE(‘ 2008-09-08 00:00:00′, ‘SYYYY-MM-DDHH24:MI:SS’,'NLS_CALENDAR=GREGORIAN’))
INTO (PARTITION sep_7_08 TABLESPACE tblspace_07 ,
PARTITION sep_8_08 TABLESPACE tblspace_08 )
note that you need to describe the date time format EXACTLY like the tables properties.
those lines mean every transaction in partition sep_8_08 which date is other than 2008-09-08 shall moved to partition sep_7_08. this means if you have several dates mixed (ow yeah thats trouble) you’ll need to do this step a couple of times, one by one, till partition sep_8_08 is cleared from “alien” data.
PARALLEL ( DEGREE 9 );
i dont really know what it is means.. sowi..
feel confused? dont worry, so do i! heheheh
try google w/ keywords “alter table split partition oracle”.