2

我想知道如果假设这些是在计划的停机时间内完成的,那么删除 Oracle 索引并重新创建它们是否会造成任何数据问题。

最近发现一些索引停在不正确的表空间上,想通过删除索引并在正确的表空间上重新创建来纠正它。

请多多指教。

4

1 回答 1

8

我认为这没有问题,但您也可以使用以下语法来代替 drop/create:

alter index <INDEX_NAME> rebuild tablespace <TABLESPACE_NAME>

为了解决您在下面的评论中提出的问题,alter index rebuild应该更快。原因是当您删除索引并再次创建它时,索引树将从表本身构建。但是alter index rebuild,Oracle 会读取索引本身,从而减少 I/O 量。

于 2012-04-12T07:42:17.060 回答