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_clausedeallocate_unused_clauseを指定することはできません。

SIZE

エクステント・サイズをバイト単位で指定します。integerの値は0から2147483647となります。これより大きいエクステント・サイズを指定するには、この範囲の整数とKMGまたは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_clauseINSTANCEパラメータを設定しても、指定したインスタンスに新しく割り当てられた領域が確保されない場合があります。これは、自動セグメント領域管理では、エクステントとインスタンス間の固定したアフィニティが保持されないためです。