Oracle删除并创建索引

Oh *_*oon 2 oracle indexing

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

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

请提出建议.

Erk*_*lat 8

我没有看到这个问题,但是你可以使用下面的语法代替drop/create:

alter index <INDEX_NAME> rebuild tablespace <TABLESPACE_NAME>
Run Code Online (Sandbox Code Playgroud)

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