0

我需要更改创建 7 个索引的表空间。这是一个 3TB 的分区索引。每天都会创建一个新分区,然后将其折叠成几个月。我正在运行的命令是

alter index myindex1 modify default attributes for partition
mypartition tablespace myNewIndexTablespace;

错误是

ORA-14288索引未按复合范围法分区原因:分区或子分区维护操作命令中的索引必须按复合范围法进行分区。

考虑到这些索引很大并且驻留在 52 个分区上,我试图在这里找出最佳方法。

4

1 回答 1

1

我认为这意味着如果索引分区不包含子分区,则无法为该分区定义默认表空间。

这样做的原因是对象的默认表空间是在创建时分配新分区或子分区的表空间。如果一个表或索引没有分区,那么它当然不能有一个用于新分区的默认表空间,如果一个表或索引分区没有子分区,那么它就不能有一个用于添加新子分区的默认表空间。

您可能想要:

alter index
  myindex1
modify
  default attributes
    tablespace myNewIndexTablespace;

...然后将当前索引分区重建到新表空间。

http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_1010.htm#i2129868

于 2013-09-11T15:31:50.100 回答