![](http://img.blog.itpub.net/blog/attachment/201407/3/29668973_1404401591TX1k.jpg?x-oss-process=style/bb)
今天在测试用交换分区重命名表时,出现ORA-14099错误。
--交换分区重建表
CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);
CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME)
(PARTITION P1 VALUES LESS THAN (TO_DATE('2014-7-1', 'YYYY-MM-DD')),
PARTITION P2 VALUES LESS THAN (MAXVALUE));
alter table t_new exchange partition p1 with table t;
原因为:表T中的数据有大于2014-07-01的数据。 但是分区p1只存放小于7月1日的数 据,所以会提示出错.
解决办法1:修改建表SQL语句
CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME)
(PARTITION P1 VALUES LESS THAN (TO_DATE('2014-8-1', 'YYYY-MM-DD')),
PARTITION P2 VALUES LESS THAN (MAXVALUE));
解决方法2:alter table t_new exchange partition p1 with table t without validation;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29668973/viewspace-1208936/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29668973/viewspace-1208936/