Exchange分区给出索引不匹配错误[关闭]

问题描述 投票:0回答:1
我有一个表A,它有4个索引,并且有一个主键索引。我想用与表A类似的方式建立的表A_AR交换分区,我删除了4索引并重新创建了4索引

locally,但是我如何使用主键索引呢?我试图删除它,但是Oracle说它与约束链接,所以我删除了约束,然后删除了主键索引。然后,我在本地创建了该索引。现在,当我尝试使用该索引创建主键约束时。我收到错误消息,说使用了名称,并且当我更改主键的名称时,Oracle表示列已被索引。如何再次重新创建主键。我正在尝试使用“ Alter Table A Partition Exchange P1 .....包括带有验证的索引;”命令。最好的方法是什么,现在表没有主键。

这是我的分区表(COST_EVENT_SERVICE)索引的样子enter image description here

但是当我尝试向分区表添加主键时

ALTER TABLE TBCAM.COST_EVENT_SERVICE ADD CONSTRAINT COSPK_EVENT_SERVICE_PR PRIMARY KEY (MDL_VER_ID, EVENT_ID, EVENT_SERV_ID);

我遇到错误,就像列已被索引。
java oracle partitioning partition
1个回答
0
投票
如果Exchange分区中涉及的源表具有主键,则分区目标表上的主键必须是GLOBAL,在这种情况下,执行操作时必须使用UPDATE GLOBAL INDEXES。这会大大减慢该过程的速度,因此,建议删除(在执行Exchange Partition操作之前)并重建全局索引(在操作之后),这要快得多。访问http://www.akadia.com/services/ora_exchange_partition.html以获取一些出色的示例和模拟此示例的步骤。
© www.soinside.com 2019 - 2024. All rights reserved.