你可以修改Oracle一个表或者复合分区表的一个分区的默认属性。当你修改默认属性时,新属性只会影响到以后创建的分区或者子分区。当创建一个新的分区或者子分区时,默认属性也可以被覆盖。你可以修改引用分区表的默认属性。
修改表的默认属性
你可以使用ALTER TABLE语句的MODIFY DEFAULT ATTRIBUTES子句来修改范围、哈希、列表、间隔或者引用分区继承的默认属性。
对于哈希分区表而言,只有TABLESPACE属性可以被修改。
修改分区的默认属性
当创建子分区要修改继承的默认属性时,使用ALTER TABLE ... MODIFY DEFAULT ATTRIBUTES FOR PARTITION语句。对于范围哈希分区表emp的p1分区,下面的语句修改了其中以后创建的所有子分区的TABLESPACE属性。
ALTER TABLE emp
MODIFY DEFAULT ATTRIBUTES FOR PARTITION p1 TABLESPACE ts1;
由于除了TABLESPACE属性,范围哈希分区表的所有子分区必须共享相同的属性,所以只有TABLESPACE属性可以修改。
你不能修改未创建间隔分区的默认属性。如果你要修改间隔分区表中以后创建的子分区默认属性,你必须修改子分区模版。
修改索引分区的默认属性
和表分区类似,你可以修改继承自范围分区全局索引或者分区表的本地索引分区的默认属性。你可以使用ALTER INDEX ... MODIFY DEFAULT ATTRIBUTES语句。如果你要修改复合分区表子分区的默认属性,使用ALTER INDEX ... MODIFY DEFAULT ATTRIBUTES FOR PARTITION语句,