インデックスを再構築するプロセスを実行する必要がある場合、および再構築する必要があるインデックスをどのように知ることができますか?
3 に答える
インデックスの再構築については、 http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2913600659112を参照してください。ビットマップ インデックスの再構築は問題ありませんが、btree インデックスはそうではありません。
一般に、インデックスとテーブルは、断片化しすぎたときに再構築する必要があります。
実際には、おそらくOracle10gでそれを行う必要はありません。断片化は、構造への多くの変更(列の追加/削除)と多くのデータ変更(挿入、更新、削除)を伴うテーブルとインデックスで発生します。
v10以降、Oracleには、データベースのパフォーマンスを管理する自動化されたプロセスが多数あります。そのうちの1つは、自動的に実行される「セグメントアドバイザー」です。
これがOracle10gのフルバージョン(エクスプレスではない)の場合は、データベースマネージャダッシュボードがあります。
そこには、Oracleの各部分の保守情報を見つけることができる「Advisorcentral」があります。
特に、パフォーマンス改善のための推奨事項を見つけることができる「セグメントアドバイザー」レポートがあります。そこで、推奨されるアクションを選択し、Oracleにそれを実行するように指示できます。
一部のテーブルまたはインデックスのパフォーマンスが疑わしい場合は、オンデマンドで分析を実行でき、テーブルまたはインデックスを再構築する必要があるかどうかを確認できます。
多くのユーザーと多くの変更を含む大規模なデータベースがある場合は、毎日確認できます。
インデックスの定期的な再構築は、多くの人が支持する宗教ですが、正当化できる人はほとんどいません。一般に、インデックスがスパースの自然な状態に戻ると、ブロック分割により後続のシステム負荷が増加するなどの意図しない副作用があるため、作成されたほとんどすべてのケースは欠陥があります。
インデックスの再構築について考える前に、まずインデックスの仕組み、エントリの作成と削除の方法、コンパクト インデックスまたはスパース インデックスによるパフォーマンスへの影響を調査する必要があります。この情報を Google で見つけるのは難しくありません。
また、再構築の代わりに合体操作を検討してください。