DROP INDEX
目的
DROP
INDEX
文を使用すると、データベースから索引またはドメイン索引を削除できます。
グローバル・パーティション索引、レンジ・パーティション索引またはハッシュ・パーティション索引を削除すると、すべての索引パーティションも削除されます。コンポジット・パーティション索引を削除した場合、すべての索引パーティションおよびサブパーティションも削除されます。
また、ドメイン索引を削除すると、次のようになります。
-
適切なルーチンが起動されます。
-
任意の統計情報がドメイン索引に関連付けられている場合、
FORCE
句によって統計タイプの関連付けが解除され、その統計タイプを使用して収集したユーザー定義の統計情報が削除されます。関連項目:
-
ルーチンの詳細は、『Oracle Databaseデータ・カートリッジ開発者ガイド』を参照してください。
-
索引の作成および変更の詳細は、「CREATE INDEX」および「ALTER INDEX」を参照してください。
-
ドメイン索引の詳細は、「CREATE INDEX」の「
domain_index_clause
」を参照してください。 -
統計タイプの関連付けの詳細は、「ASSOCIATE STATISTICS」および「DISASSOCIATE STATISTICS」を参照してください。
-
前提条件
削除する索引が自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP
ANY
INDEX
システム権限が必要です。
構文
drop_index::=
セマンティクス
schema
索引が含まれているスキーマを指定します。schema
を指定しない場合、索引は自分のスキーマ内にあるとみなされます。
index
削除する索引の名前を指定します。索引を削除すると、その索引に割り当てられていたすべてのデータ・ブロックが、その索引が含まれていた表領域に戻されます。
ONLINE
ONLINE
を指定すると、索引の削除中に、表またはパーティションに対するDML操作が許可されるようになります。
FORCE
FORCE
は、ドメイン索引のみに適用されます。この句を指定すると、索引タイプ・ルーチンの起動がエラーを戻した場合、または索引にIN
PROGRESS
のマークが付けられている場合でも、ドメイン索引を削除できます。FORCE
がないと、その索引タイプ・ルーチンの起動がエラーを戻す場合、または索引にIN
PROGRESS
マークが付けられている場合にドメイン索引を削除できません。
{ DEFERRED | IMMEDIATE } INVALIDATION
この句を使用すると、索引の削除中にデータベースが依存カーソルを無効にする時間を制御できます。セマンティクスはALTER
INDEX
文と同じですが、次が追加されます。DEFERRED
INVALIDATION
で索引を削除すると、Oracleデータベースは、計画内の削除済索引を参照するDML文または問合せをすぐに無効にします。
この句のセマンティクスの詳細は、ALTER
INDEX
に関する項目の「{ DEFERRED | IMMEDIATE } INVALIDATION」を参照してください。
索引の削除の制限事項
索引の削除には、次の制限事項が適用されます。
-
索引またはその索引の索引パーティションに
IN_PROGRESS
のマークが付いているときには、ドメイン索引を削除できません。 -
ドメイン索引、クラスタ索引、またはキュー表の索引を削除するときには、
ONLINE
句は指定できません。