allocate_extent_clause
目的
allocate_extent_clause
句を使用すると、データベース・オブジェクトの新しいエクステントを明示的に割り当てることができます。
この句を使用してエクステントを明示的に割り当てた場合、NEXT
およびPCTINCREASE
記憶域パラメータの値は変更されません。したがって、Oracle Databaseで暗黙的に割り当てられる次のエクステントのサイズには影響ありません。NEXT
およびPCTINCREASE
記憶域パラメータの詳細は、「storage_clause」を参照してください。
エクステントは次のSQL文で割り当てることができます。
-
ALTER
CLUSTER
(「ALTER CLUSTER」を参照) -
ALTER
INDEX
: エクステントを索引、索引パーティションまたは索引サブパーティションに割り当てる場合(「ALTER INDEX」を参照) -
ALTER
MATERIALIZED
VIEW
: エクステントをマテリアライズド・ビュー、そのパーティションまたはサブパーティションの1つ、あるいは索引構成マテリアライズド・ビューのオーバーフロー・セグメントに割り当てる場合(「ALTER MATERIALIZED VIEW」を参照) -
ALTER
MATERIALIZED
VIEW
LOG
(「ALTER MATERIALIZED VIEW LOG」を参照) -
ALTER
TABLE
: エクステントを表、表パーティション、表サブパーティション、索引構成表のマッピング表、索引構成表のオーバーフロー・セグメントまたはLOB記憶域セグメントに割り当てる場合(「ALTER TABLE」を参照)
構文
セマンティクス
この項では、allocate_extent_clause
のパラメータについて説明します。詳細は、特定のデータベース・オブジェクトに対してこれらのパラメータを設定または再設定するSQL文の説明を参照してください。
同じ文でallocate_extent_clause
とdeallocate_unused_clause
を指定することはできません。
SIZE
エクステント・サイズをバイト単位で指定します。integer
の値は0から2147483647となります。これより大きいエクステント・サイズを指定するには、この範囲の整数とK
、M
、G
またはT
を使用して、エクステント・サイズをKB、MB、GBまたはTB単位で指定します。
表、索引、マテリアライズド・ビューまたはマテリアライズド・ビュー・ログでは、SIZE
を指定しないと、Oracle Databaseではオブジェクトの記憶域パラメータの値に基づいてサイズが決定されます。ただし、クラスタの場合、クラスタの記憶域パラメータは評価されないため、デフォルト値を使用しない場合はSIZE
を指定する必要があります。
DATAFILE 'filename'
新しいエクステントを割り当てるデータファイルを、表、クラスタ、索引、マテリアライズド・ビューまたはマテリアライズド・ビュー・ログの表領域から1つ指定します。DATAFILE
を指定しないと、Oracleがデータファイルを選択します。
INSTANCE integer
Oracle Real Application Clustersを使用する場合のみ、このパラメータを使用します。
INSTANCE
integer
を指定すると、指定したインスタンスに対応付けられた空きリスト・グループが新しいエクステントを使用できるようになります。インスタンス数が空きリスト・グループの最大数を超えた場合、指定したインスタンス数/最大数という除算が行われ、その余りから、使用する空きリスト・グループが識別されます。インスタンスは初期化パラメータINSTANCE_NUMBER
の値で識別されます。
このパラメータを指定しない場合、表、クラスタ、索引、マテリアライズド・ビューまたはマテリアライズド・ビュー・ログに領域が割り当てられますが、特定の空きリスト・グループからは割り当てられません。かわりにマスター空きリストが使用され、必要に応じて領域が割り当てられます。
ノート:
自動セグメント領域管理の使用時は、allocate_extent_clause
のINSTANCE
パラメータを設定しても、指定したインスタンスに新しく割り当てられた領域が確保されない場合があります。これは、自動セグメント領域管理では、エクステントとインスタンス間の固定したアフィニティが保持されないためです。