Oracle分区交换生成唯一约束违规

时间:2014-08-27 21:45:37

标签: oracle oracle11g data-warehouse business-intelligence database-partitioning

我有一个执行以下操作的流程:

1 - 从table1创建表load_table1作为select *,其中partition_number = P1
 2 - ---将新记录插入load_table1 ---
 3 - 将索引和约束应用于load_table1(所有都是全局的并且与table1具有匹配)
 4 - alter table table1交换分区P1  表load_table1包括没有验证的索引

load_table1和table1都有唯一的约束集。当应用于load_table1中的数据时它不会失败,但是当进行分区交换时,我在table1中的约束上得到一个唯一约束违反错误。我不确定这是怎么回事,因为我正在完成分区的交换,而partition_number字段是唯一键的一部分 - 所以如果load_table1中的唯一键很好并且相同的数据正在进行中到table1为什么是唯一的失败(我还验证了所有记录都在其正确的分区中加载,所以没有记录,其中partition_number = P1与P1不同的分区)?

我还验证了约束的索引和约束在本地应用于table1,全局应用于load_table1。

0 个答案:

没有答案