ALTER CLUSTER

目的

ALTER CLUSTER文を使用すると、クラスタの記憶特性および並列特性を再定義できます。

ノート:

クラスタ・キーの列番号および列名を変更するためにこの文を使用することはできません。また、クラスタを格納する表領域を変更することはできません。

関連項目:

クラスタの作成については、「CREATE CLUSTER」を参照してください。クラスタからの表の削除については、「DROP CLUSTER」および「DROP TABLE」を参照してください。クラスタへの表の追加については、「CREATE TABLE」physical_properties」を参照してください。

前提条件

クラスタが自分のスキーマ内にあるか、またはALTER ANY CLUSTERシステム権限が必要です。

構文

parallel_clause::=

セマンティクス

schema

クラスタが含まれているスキーマを指定します。schemaを指定しない場合、クラスタは自分のスキーマ内にあるとみなされます。

cluster

変更するクラスタの名前を指定します。

physical_attributes_clause

クラスタのPCTUSEDパラメータ、PCTFREEパラメータおよびINITRANSパラメータの値を変更します。

クラスタの記憶特性を変更するには、STORAGE句を使用します。

関連項目:

物理属性の制限事項

クラスタの記憶域パラメータINITIALMINEXTENTSの値は変更できません。

SIZE

integer

SIZE句を使用すると、クラスタに割り当てられたデータ・ブロック中に格納されるクラスタ・キーの数を指定できます。

SIZEの制限事項

ハッシュ・クラスタではなく、索引クラスタのSIZEパラメータのみを変更できます。

関連項目:

SIZEパラメータの詳細は、「CREATE CLUSTER」および「クラスタの変更: 例」を参照してください。

MODIFY PARTITION

MODIFY PARTITION partition allocate_extent_clauseを指定すると、クラスタ・パーティションの新しいエクステントを明示的に割り当てることができます。この操作は、レンジ・パーティション・ハッシュ・クラスタにのみ有効です。partitionには、クラスタ・パーティション名を指定します。

allocate_extent_clause

allocate_extent_clauseを指定すると、クラスタの新しいエクステントを明示的に割り当てることができます。この操作は、索引クラスタおよび非パーティション・ハッシュ・クラスタにのみ有効です。

allocate_extent_clauseを使用して明示的にエクステントを割り当てるときは、表を作成するときとは異なり、Oracle Databaseがクラスタの記憶域パラメータを評価して次に割り当てるエクステントの新しいサイズを決定することはありません。したがって、Oracle Databaseのデフォルト値が使用されるのを避けるにはSIZEを指定してください。

関連項目:

この句の詳細は、allocate_extent_clause」を参照してください。

deallocate_unused_clause

deallocate_unused_clause句を使用すると、クラスタの終わりの未使用領域の割当てを明示的に解除し、解放された領域が他のセグメントで使用可能になります。

関連項目:

この句の詳細は、「deallocate_unused_clause」および「未使用領域の割当て解除: 例」を参照してください。

parallel_clause

parallel_clauseを指定すると、クラスタの問合せのデフォルト並列度を変更できます。

関連項目:

この句の詳細は、「CREATE TABLE」の「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;