Let's assume i have some table with range partitions, range subpartitions and some local index corresponding with these subpartitions. For example:
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;
When i set default tablespace for whole index:
ALTER INDEX TAB_I1 MODIFY DEFAULT ATTRIBUTES TABLESPACE TBS_I_2;
i am able to see this value in:
SELECT a.def_tablespace_name
FROM all_part_indexes a
WHERE a.index_name = 'TAB_I1';
But when i set default tablespace only for one partition:
ALTER INDEX TAB_I1
MODIFY DEFAULT ATTRIBUTES FOR PARTITION partition_1000 TABLESPACE TBS_I_3;
i am not able to find this default tablespace anywhere in Oracle dictionary, but this value takes place in splitting of table subpartitions.
使用ALL_IND_PARTITIONS.TABLESPACE_NAME
而不是ALL_PART_INDEXES.DEF_TABLESPACE_NAME
。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.