Exchange 分区给出 -Table 或索引未分区。无效的语法

Exchange Partition giving -Table or index is not partitioned. Invalid syntax

我有 2 个模式 TBCAM 和 AR_TBCAM。 TBCAM 中有一个名为 BKP_COST_EVENT 的 table,我已将其分区,并且我已将分区数据移动到 AR_TBCAM 架构中另一个名为 BKP_COST_EVENT_P2016 的简单 table。现在,数据已通过此查询

移至 AR_TBCAM 架构
ALTER TABLE BKP_COST_EVENT EXCHANGE PARTITION P2016 WITH TABLE AR_TBCAM.BKP_COST_EVENT_P2016 INCLUDING INDEXES WITHOUT VALIDATION;

现在想把分区数据恢复成原来的tableBKP_COST_EVENT。 但是当我 运行 这个查询站在 AR_TBCAM

ALTER TABLE BKP_COST_EVENT_P2016 EXCHANGE PARTITION P2016 WITH TABLE TBCAM.BKP_COST_EVENT INCLUDING INDEXES WITHOUT VALIDATION;

它给出了这个错误:

Error starting at line : 1 in command -
ALTER TABLE BKP_COST_EVENT_P2016 EXCHANGE PARTITION P2016 WITH TABLE TBCAM.BKP_COST_EVENT INCLUDING INDEXES WITHOUT VALIDATION
Error report -
ORA-14501: object is not partitioned
14501. 00000 -  "object is not partitioned"
*Cause:    Table or index is not partitioned.  Invalid syntax.
*Action:   Retry the command with correct syntax.

谁能指出我做错了什么?或者如何 bring/restore 将数据返回到我的 TBCAM 模式 table BKP_COST_EVENT。 原来BKP_COST_EVENT

里面的分区p2016我没有丢

在交换分区语法中,第一个 table 应该是分区的,第二个应该是未分区的。 因此,您的第一个命令是正确的,但第二个命令是错误的。 如果您要将数据带回同一个 table 的分区 运行 再次使用相同的命令。

更改 TABLE BKP_COST_EVENT 交换分区 P2016 TABLE AR_TBCAM.BKP_COST_EVENT_P2016 包括未经验证的索引;

另外,如果没有要移动的索引,最好不要使用 including indexes 子句。