【发布时间】:2015-08-17 13:00:35
【问题描述】:
假设我有一些表,其中包含范围分区、范围子分区和与这些子分区相对应的一些本地索引。例如:
CREATE TABLE TAB
(
TAB_KEY1 NUMBER
, TAB_KEY2 NUMBER
, TAB_VAL NUMBER NOT NULL
)
TABLESPACE TBS_D_1
PARTITION BY RANGE (TAB_KEY1)
SUBPARTITION BY RANGE (TAB_KEY2)
(
PARTITION PARTITION_1000 VALUES LESS THAN (1001)
(
SUBPARTITION PARTITION_1000_1000 VALUES LESS THAN (1001)
)
);
CREATE UNIQUE INDEX TAB_I1 ON TAB (TAB_KEY1, TAB_KEY2)
LOCAL
TABLESPACE TBS_I_1;
当我为整个索引设置默认表空间时:
ALTER INDEX TAB_I1 MODIFY DEFAULT ATTRIBUTES TABLESPACE TBS_I_2;
我可以在以下位置看到这个值:
SELECT a.def_tablespace_name
FROM all_part_indexes a
WHERE a.index_name = 'TAB_I1';
但是当我只为一个分区设置默认表空间时:
ALTER INDEX TAB_I1
MODIFY DEFAULT ATTRIBUTES FOR PARTITION partition_1000 TABLESPACE TBS_I_3;
我无法在 Oracle 字典中的任何位置找到此默认表空间,但此值发生在拆分表子分区时。
【问题讨论】: