2012-04-12 10 views
2

Oracleの索引を削除して再作成すると、スケジュールされた停止時間中にこれらの作業が完了したと仮定すると、データの問題が発生する可能性があります。Oracleを削除して索引を作成する

最近、一部の索引が誤った表スペースに停留していて、索引を削除して正しい表スペースに再作成して索引を修正しようとしていることが判明しました。

お願いします。

答えて

8

私はそれで問題を参照して、代わりにドロップで/あなたはまた、以下の構文を使用することができます作成​​しないでください:あなたが以下のコメントで尋ね対処するために

alter index <INDEX_NAME> rebuild tablespace <TABLESPACE_NAME> 

を、alter index rebuildより速くする必要があります。その理由は、インデックスを削除して再度作成するときに、インデックスツリーがテーブル自体から構築されるためです。しかし、alter index rebuildでは、Oracle自体が索引を読み取るため、I/O量が少なくなります。

+0

ありがとうございました。変更インデックスは、ドロップ+作成よりもずっと速くなると思いますか? –

+0

@ChinBoon、それはおおよそ同じ長さでなければなりません。ただし、再ビルド時には、影響を受けるテーブルをロックして変更できないようにするか、drop/createのように整合性の制約に違反するようにします。 – Ben

+0

もう一度ありがとう。もう一度、再構築が完了したことをどのように知ることができますか? SQL文が戻ってくるのを待つのですか? –

関連する問題