文档解释
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;