ORA-14633: Index maintainence clause not allowed for ADD list subpartition to a Composite partitioned table

文档解释

ORA-14633: Index maintainence clause not allowed for ADD list subpartition to a Composite partitioned table

Cause: The clause INVALIDATE or UPDATE GLOBAL INDEXES is allowed only for ADD hash subpartition to a composite partitioned table.

Action: Remove clause and reissue operation

ORA-14633 错误表示尝试在复合分区表上为ADD list子分区指定维护索引类型时出现了问题。

官方解释

DBMS_PART_ERROR.ORA_14633:无法在复合分区表上指定索引维护类型的“ADD list”子分区。

常见案例

考虑以下案例,在one_table表上创建复合分区:

CREATE TABLE one_table(date_1 NUMBER, date_2 NUMBER, date_3 NUMBER) PARTITION BY RANGE (date_1, date_2, date_3) SUBPARTITION BY LIST(date_2) ( SUBPARTITION l_january VALUES (‘Jan’), SUBPARTITION l_febuary VALUES (‘Feb’) ) (PARTITION p_january VALUES LESS THAN (30,2,4) , PARTITION p_febuary VALUES LESS THAN (30,3,4) , PARTITION p_march VALUES LESS THAN (30,4,4) )

然后我们尝试添加索引维护子分区:

ALTER TABLE one_table ADD SUBPARTITION l_april VALUES (‘April’) MAINTAIN INDEX;

正常处理方法及步骤

为了正确处理ORA-14633错误,您可以遵循以下操作:

· 您不能为包含在复合分区表上的“ADD list”子分区指定索引维护类型。

· 您可以正常添加列表子分区,如下所示:

ALTER TABLE one_table ADD SUBPARTITION l_april VALUES (‘April’);

· 然后,如果您需要为子分区创建索引,可以使用以下命令:

CREATE INDEX one_index ON one_table (date_1, date_3) LOCAL SUBPARTITION l_april;

你可能感兴趣的