DROP CLUSTER
目的
DROP
CLUSTER
文を使用すると、データベースからクラスタを削除できます。
ノート:
クラスタを削除すると、ごみ箱内のそのクラスタの一部だった表はごみ箱から消去され、FLASHBACK TABLE
操作でもリカバリできなくなります。
個々の表は非クラスタ化できません。そのかわり、次のステップを実行します。
-
既存の表と同じ構成および内容で、新しい表を
CLUSTER
句なしで作成します。 -
既存の表を削除します。
-
RENAME
文を使用して、新しい表に既存の表の名前を指定します。 -
新しいクラスタ化表に対する権限を付与します。古いクラスタ化表に対する権限は使用できません。
関連項目:
これらのステップの詳細は、「CREATE TABLE」、「DROP TABLE」、「RENAME」および「GRANT」を参照してください。
前提条件
削除するクラスタが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP
ANY
CLUSTER
システム権限が必要です。
構文
drop_cluster::=
セマンティクス
IF EXISTS
IF EXISTS
は、既存の索引を削除する場合に指定します。
DROP
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
クラスタが含まれているスキーマを指定します。schema
を指定しない場合、クラスタは自分のスキーマ内にあるとみなされます。
cluster
削除するクラスタの名前を指定します。クラスタを削除するとクラスタの索引も削除され、その索引のデータ・ブロックを含むクラスタ領域が表領域に戻されます。
INCLUDING TABLES
INCLUDING
TABLES
を指定すると、クラスタに属するすべての表を削除できます。
CASCADE
CONSTRAINTS
を指定すると、クラスタに含まれる表の主キーまたは一意キーを参照するクラスタ外の表から、すべての参照整合性制約を削除できます。このような参照整合性制約があるときにこの句の指定を省略した場合、エラーが戻され、クラスタは削除されません。
例
クラスタの削除: 例
次の例では、CREATE
CLUSTER
の「例」で作成したクラスタを削除します。
次の文は、language
クラスタを削除します。
DROP CLUSTER language;
次の文は、dept_10
、dept_20
およびこれらの表の主キーまたは一意キーを参照する参照整合性制約とともにpersonnel
クラスタを削除します。
DROP CLUSTER personnel INCLUDING TABLES CASCADE CONSTRAINTS;