用途
ALTER
CLUSTER
文を使用すると、クラスタの記憶特性および並列特性を再定義できます。
注意: クラスタ・キーの列番号および列名を変更するためにこの文を使用することはできません。また、クラスタを格納する表領域を変更することはできません。 |
関連項目: クラスタの作成については、「CREATE CLUSTER」を参照してください。クラスタからの表の削除については、「DROP CLUSTER」および「DROP TABLE」を参照してください。クラスタへの表の追加については、「CREATE TABLE」の「physical_properties」を参照してください。 |
構文
alter_cluster::=
(physical_attributes_clause ::=、size_clause::=、allocate_extent_clause ::=、deallocate_unused_clause ::=、parallel_clause::=を参照)
physical_attributes_clause ::=
(storage_clause::=を参照)
(size_clause::=を参照)
(size_clause::=を参照)
セマンティクス
schema
クラスタが含まれているスキーマを指定します。schema
を指定しない場合、クラスタは自分のスキーマ内にあるとみなされます。
cluster
変更するクラスタの名前を指定します。
クラスタのPCTUSED
パラメータ、PCTFREE
パラメータおよびINITRANS
パラメータの値を変更します。
クラスタの記憶特性を変更するには、STORAGE
句を使用します。
物理属性の制限事項: クラスタの記憶域パラメータINITIAL
およびMINEXTENTS
の値は変更できません。
SIZE
句を使用すると、クラスタに割り当てられたデータ・ブロック中に格納されるクラスタ・キーの数を指定できます。
SIZEの制限事項: ハッシュ・クラスタではなく、索引クラスタのSIZE
パラメータのみを変更できます。
allocate_extent_clause
を指定すると、クラスタの新しいエクステントを明示的に割り当てることができます。
この句を使用して明示的にエクステントを割り当てるときは、表を作成するときとは異なり、Oracle Databaseがクラスタの記憶域パラメータを評価して次に割り当てるエクステントの新しいサイズを決定することはありません。したがって、Oracle Databaseのデフォルト値が使用されるのを避けるにはSIZE
を指定してください。
deallocate_unused_clause
句を使用すると、クラスタの終わりの未使用領域の割当てを明示的に解除し、解放された領域が他のセグメントで使用可能になります。
この句の動作は、CREATE
CLUSTER
文およびALTER
CLUSTER
文で同じです。
parallel_clause
を指定すると、クラスタの問合せのデフォルト並列度を変更できます。
例
次に、「CREATE
CLUSTER
」の「例」で作成したクラスタを変更する例を示します。
クラスタの変更例: 次の文は、personnel
クラスタを変更します。
ALTER CLUSTER personnel SIZE 1024 CACHE;
この結果、各クラスタ・キー値に1024バイトが割り当てられ、CACHE属性が有効になります。データ・ブロックのサイズを2KBと想定した場合、このクラスタ内の今後のデータ・ブロックには、各ブロックに2つのクラスタ・キー(2KBを1024バイトで割った値)が含まれます。
未使用領域の解放例: 次の文は、language
クラスタから未使用領域の割当てを解除し、後で使用できるように30KBの未使用領域を保持します。
ALTER CLUSTER language DEALLOCATE UNUSED KEEP 30 K;