ORA-39290: Cannot drop a partition of a globally partitioned index.

文档解释

ORA-39290: Cannot drop a partition of a globally partitioned index.

Cause: DBMS_METADATA_DIFF was comparing two globally partitioned indexes and a partition in the first index does not exist in the second index. There is no SQL ALTER statement to drop a partition of a globally partitioned index.

Action: The difference cannot be eliminated with an SQL ALTER statement.

ORA-39290:不能删除一个全局分区索引的分区

官方解释

Oracle Database 将在尝试删除全局分区索引的分区时引发此错误。此错误在删除全局分区索引的分区时引发,而不是删除全局分区表的分区。由于索引的分区和表的分区的规则可能不同,所以需要你单独编写对全局分区索引的 DDL,而不是使用 DROP TABLE 或 DROP PARTITION 语句。

常见案例

一些用户可能会尝试将全局分区索引的 PARTITION 删除,而不是使用 ALTER TABLE 或 ALTER INDEX 语句来更新它,就会出现这个错误。

一般处理方法及步骤

解决此错误的正确方法是使用 ALTER TABLE 或 ALTER INDEX 语句来更新全局分区索引的分区,而不是使用 DROP PARTITION 语句。例如,在全局分区索引上使用 ALTER INDEX 语句添加新的分区或删除现有的分区,如下所示:

ALTER INDEX MYINDEX

ADD partition MYNEWPARTITION;

ALTER INDEX MYINDEX

DROP partition MYPARTITION;

你可能感兴趣的