这个主要是对分区的字段进行了更改, 导致该行需要移至另一个分区
在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
本文讨论了在Oracle数据库中,当尝试更新分区键字段时可能导致分区变更的问题。具体来说,如果更新操作使得记录从一个分区移动到另一个分区,则会触发ORA-14402错误。文章通过一个具体的例子说明了这一现象。
4147

被折叠的 条评论
为什么被折叠?



