Можно ли объявить отдельное табличное пространство в интервальном разделе?

У меня есть выделенное табличное пространство для данных и выделенное табличное пространство для индекса. Я перенес таблицу в таблицу с интервалами и перестроил индексы в отдельном табличном пространстве. Затем новые записи вошли в таблицу, создав новый интервал разбиения.

Моя проблема заключается в том, что раздел и его индекс были созданы в табличном пространстве, выделенном для данных, вместо:

  • данные на выделенном табличном пространстве данных
  • указатель на индекс выделенного табличного пространства

Есть ли решение, которое не требует постоянного обслуживания?

1 ответ

Вы можете изменить атрибуты по умолчанию для индекса. Новые разделы будут использовать указанный вами раздел:

create tablespace table_data 
  datafile 'table_data.dbf' size 1M autoextend on;

create tablespace index_data 
  datafile 'index_data.dbf' size 1M autoextend on;

create table t (
  c1 int, c2 int
) partition by range ( c1 ) 
  interval ( 1 ) (
  partition p0 values less than ( 1 )
) tablespace table_data;

create index i on t ( c2 ) local;

insert into t values ( 1, 1 );
commit;

select partition_name, tablespace_name 
from   user_tab_partitions
where  table_name = 'T';

PARTITION_NAME   TABLESPACE_NAME   
P0               TABLE_DATA        
SYS_P622         TABLE_DATA     

select partition_name, tablespace_name  
from   user_ind_partitions
where  index_name = 'I';

PARTITION_NAME   TABLESPACE_NAME   
P0               TABLE_DATA        
SYS_P622         TABLE_DATA        

alter index i 
  modify default attributes tablespace index_data;

insert into t values ( 2, 2 );
commit;

select partition_name, tablespace_name 
from   user_tab_partitions
where  table_name = 'T';

PARTITION_NAME   TABLESPACE_NAME   
P0               TABLE_DATA        
SYS_P622         TABLE_DATA        
SYS_P623         TABLE_DATA     

select partition_name, tablespace_name  
from   user_ind_partitions
where  index_name = 'I';

PARTITION_NAME   TABLESPACE_NAME   
P0               TABLE_DATA        
SYS_P622         TABLE_DATA        
SYS_P623         INDEX_DATA    
Другие вопросы по тегам