【问题标题】:Where can we find in Oracle dictionary default attributes of index partition?我们在Oracle字典中哪里可以找到索引分区的默认属性?
【发布时间】: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 字典中的任何位置找到此默认表空间,但此值发生在拆分表子分区时。

【问题讨论】:

    标签: database oracle


    【解决方案1】:

    使用ALL_IND_PARTITIONS.TABLESPACE_NAME 代替ALL_PART_INDEXES.DEF_TABLESPACE_NAME

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多