这个主要是对分区的字段进行了更改, 导致该行需要移至另一个分区
在Oracle中,如果数据量大,一般会使用多个表分区,建表方式为:
create table table1(
logID NUMBER(18) not null,
CreateTime DATE default(sysdate),
)
PARTITION BY RANGE (CreateTime)
( PARTITION part1
VALUES LESS THAN (TO_DATE('2005-01-01','YYYY-MM-DD'))
TABLESPACE tablespace1,
PARTITION part2
VALUES LESS THAN (TO_DATE('2005-02-01','YYYY-MM-DD'))
TABLESPACE tablespace1,
PARTITION part3
VALUES LESS THAN (TO_DATE('2005-03-01','YYYY-MM-DD'))
TABLESPACE tablespace1)
当使用这样的结构的时候,如果在原有数据上进行Update操作,而Update操作恰恰是修改CreateTime这样的
用来区分表分区的字段,那么将可能出现错误:
原纪录是2005-01-21,如果改为2005-02-21,那么将会出现错误:
ORA-14402: updating partition key column would cause a partition change