重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: ORA-14006 When Using For Clause In Partition Maintenance Command [打印本页]

作者: 刘泽宇    时间: 2025-7-13 11:26
标题: ORA-14006 When Using For Clause In Partition Maintenance Command
现象:
ORA-14006 when partition operation is used with FOR clause for partitioned index or for partitioned index organized table (IOT).

ALTER TABLE <IOT> MODIFY PARTITION FOR(10) ....
ALTER INDEX <partitioned index> MODIFY PARTITION FOR(10) ....

e.g.
alter index idx2 modify partition for(10) nocompress
                                  *
ERROR at line 1:
ORA-14006: invalid partition name

alter table iot1 modify partition for(10) coalesce
*
ERROR at line 1:
ORA-25189: illegal ALTER TABLE option for an index-organized table
ORA-14006: invalid partition name

This occurs for other partition maintenance operations (e.g. split, drop, rebuild)  for partitioned index and for IOT.

原因:
Unpublished minor bug, that is with development at the time of writing this article.

处理方法:
1./ Determine the corresponding partition/subpartition by looking up the PARTITION_NAME
SUBPARTITION_NAME, HIGH_VALUE columns of the corresponding dictionary view:
user|dba|all_tab_partitions
user|dba|all_tab_subpartitions
user|dba|all_ind_partitions
user|dba|all_ind_subpartitions

2./ Use the partition name instead of the FOR clause.

e.g.
alter index idx2 modify partition pi1 nocompress;
alter table iot1 modify partition p2 coalesce;






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2