表移动到不同的表空间

时间:2015-05-11 07:12:15

标签: sql database indexing oracle11g ddl

我很困惑将表移动到不同的表空间,因为它有几个索引是本地索引,我想这意味着索引存储在与所有者表相同的某个表空间中,所以当我将表移动到不同的表时表空间然后移动本地索引然后我只需要重建它们而不指定表空间。

我的意思是

ALTER INDEX XXX REBUILD;

而不是

ALTER INDEX XXX REBUILD TABLESPACE XX;

我是对的还是我在这里遗失了什么?

1 个答案:

答案 0 :(得分:3)

将索引定义为local与其存储的表空间无关。 local指的是以与它们引用的表相同的方式对分区索引进行分区,而不是global分区索引,它具有自己的分区定义(或甚至定义为非分区),而不管表的分区。

如您所述,移动表后您必须重建其索引,但无论索引的localglobal定义如何,都可以对任何表空间执行此操作。默认情况下,如果未给出存储子句,则将在已存储的表空间上重建索引。