プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

physical_attributes_clause

用途

physical_attributes_clauseを使用すると、PCTFREEPCTUSEDおよびINITRANSパラメータの値、および表、クラスタ、索引またはマテリアライズド・ビューの記憶特性を指定できます。

physical_attributes_clauseは次の文に指定できます。

  • CREATE CLUSTERおよびALTER CLUSTER: クラスタおよびクラスタ内のすべての表の物理属性を設定または変更する場合(「CREATE CLUSTER」および「ALTER CLUSTER」を参照)。

  • CREATE TABLE: 表、表パーティション、オブジェクト表のOIDINDEXまたは索引構成表のオーバーフロー・セグメントの物理属性を設定する場合(「CREATE TABLE」を参照)。

  • ALTER TABLE: 表の物理属性、将来追加される表パーティションのデフォルトの物理属性、または既存の表パーティションの物理属性を変更する場合(「ALTER TABLE」を参照)。次の制限があります。

    • 物理属性は、一時表には指定できません。

    • 物理属性は、クラスタ化表には指定できません。クラスタ内の表はクラスタの物理属性を継承します。

  • CREATE INDEX: 索引または索引パーティションの物理属性を設定する場合(「CREATE INDEX」を参照)。

  • ALTER INDEX: 索引の物理属性、将来追加される索引パーティションのデフォルトの物理属性、または既存の索引パーティションの物理属性を変更する場合(「ALTER INDEX」を参照)

  • CREATE MATERIALIZED VIEW: マテリアライズド・ビュー、そのパーティションの1つ、またはマテリアライズド・ビューを保持するために生成される索引の物理属性を設定する場合(「CREATE MATERIALIZED VIEW」を参照)。

  • ALTER MATERIALIZED VIEW: マテリアライズド・ビューの物理属性、将来追加されるパーティションのデフォルトの物理属性、および既存のパーティション、またはマテリアライズド・ビューを保持するために作成される索引の物理属性を変更する場合(「ALTER MATERIALIZED VIEW」を参照)。

  • CREATE MATERIALIZED VIEW LOGおよびALTER MATERIALIZED VIEW LOG: マテリアライズド・ビュー・ログの物理属性を設定または変更する場合(「CREATE MATERIALIZED VIEW LOG」および「ALTER MATERIALIZED VIEW LOG」を参照)。

構文

physical_attributes_clause::=

physical_attributes_clause.gifの説明が続きます。
図「physical_attributes_clause.gif」の説明

(storage_clause::=を参照)

セマンティクス

この項では、physical_attributes_clauseのパラメータについて説明します。詳細は、特定のデータベース・オブジェクトに対してこれらのパラメータを設定または再設定するSQL文の説明を参照してください。

PCTFREE integer

データベース・オブジェクトの各データ・ブロック内で、オブジェクトの行を将来更新するために確保しておく領域の割合を表す整数値を指定します。PCTFREEの値は、0から99の値にする必要があります。値に0を指定した場合は、ブロック全体が一杯になるまで新しい行を挿入できます。デフォルト値は10です。10を指定した場合、既存の行に対して行われる更新用に各ブロックの10%が確保されるため、各ブロックでは最大90%まで表に新しい行を挿入できます。

PCTFREEは、表、パーティション、クラスタ、索引、マテリアライズド・ビューおよびマテリアライズド・ビュー・ログを作成および変更する文の中で同様に機能します。PCTFREEPCTUSEDの組合せによって、新しい行を既存のデータ・ブロックと新しいデータ・ブロックのどちらに挿入するかが決まります。「PCTFREEとPCTUSEDの連携」を参照してください。

PCTFREE句の制限事項: 索引を変更する場合、このパラメータは、modify_index_default_attrs句およびsplit_index_partitionにのみ指定できます。

PCTUSED integer

使用済領域のうち、データベース・オブジェクトのデータ・ブロックごとに確保される最小限の割合を表す整数値を指定します。PCTUSEDは0から99までの正の整数で指定し、デフォルト値は40です。

PCTUSEDは、表、パーティション、クラスタ、マテリアライズド・ビューおよびマテリアライズド・ビュー・ログを作成および変更する文の中で同様に機能します。

PCTUSEDは、索引構成表には無効な表記憶特性です。

PCTFREEおよびPCTUSEDの合計は100以下である必要があります。PCTFREEPCTUSEDをともに使用して、データベース・オブジェクト内の領域を効果的に利用できます。「PCTFREEとPCTUSEDの連携」を参照してください。

PCTUSED句の制限事項: PCTUSEDパラメータには、次の制限事項があります。

  • このパラメータは、索引または索引構成表の索引セグメントには指定できません。

  • このパラメータは、自動セグメント領域管理のオブジェクトに対しては有効ではなく、無視されます。


関連項目:

PCTUSEDおよびPCTFREEの各値によるパフォーマンスへの効果については『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。自動セグメント領域管理については「CREATE TABLESPACE」のsegment_management_clauseを参照してください。

PCTFREEとPCTUSEDの連携

新しく割り当てられたデータ・ブロックでは、挿入に使用できる領域は、ブロック・サイズからブロック・オーバーヘッドと空き領域(PCTFREE)の合計を引いたものになります。既存のデータを更新する場合は、ブロック内の任意の利用可能な領域を使用できます。このため、更新によってブロックの利用可能な領域がPCTFREEより小さくなる可能性があります。

データ・ブロックがPCTFREEによって決定された制限に達すると、そのブロックの割合(パーセント)がパラメータPCTUSEDを下回るまで、ブロックに新しい行は挿入はできないとOracle Databaseによって判断されます。この値になるまで、Oracle Databaseでは、データ・ブロックにすでに含まれている行の更新にのみデータ・ブロックの空き領域が使用されます。ブロックは、使用済領域がPCTUSEDの値を下回ると、行挿入の対象となります。


関連項目:

PCTUSEDおよびPCTFREEによる空きリストのセグメント領域管理処理の詳細は、「FREELISTS」を参照してください。

INITRANS integer

データベース・オブジェクトに割り当てられた各データ・ブロックに割り当てられる、同時実行トランザクション・エントリの初期数を指定します。この値の範囲は1から255で、デフォルト値は1ですが、次の例外があります。

  • クラスタのINITRANSのデフォルト値は、クラスタが存在する表領域のINITRANSのデフォルト値と2のいずれか大きい方の値です。

  • 索引のデフォルト値は2です。

通常、INITRANS値は、変更せずにデフォルトのまま使用してください。

ブロックを更新するトランザクションごとに、ブロックのトランザクション・エントリが必要です。このパラメータを指定した場合、最小数の同時実行トランザクションでブロックを更新できます。さらに、トランザクション・エントリを動的に割り当てるときのオーバーヘッドを回避できます。

INITRANSパラメータは、表、パーティション、クラスタ、索引、マテリアライズド・ビューおよびマテリアライズド・ビュー・ログを作成および変更する文の中で同様に機能します。

MAXTRANSパラメータ

MAXTRANSは、セグメント内の各データ・ブロックで実行可能な同時実行更新トランザクションの最大数を決定する以前のリリースのパラメータです。このパラメータは現在非推奨になっています。今回のリリースでは、Oracleは、ブロック内の未使用領域に応じて、任意のデータ・ブロックに対して最大255の同時実行更新トランザクションを自動的に許可します。

MAXTRANS値が設定された既存のオブジェクトは、その設定を保持します。ただし、MAXTRANS値を変更しようとすると、新しい指定は無視され、エラーを戻さずに値は255に置き換えられます。

storage_clause

storage_clauseによって、表、オブジェクト表OIDINDEX、パーティション、LOBデータ・セグメントまたは索引構成表のオーバーフロー・データ・セグメントの記憶特性を指定できます。この句は、大規模な表のパフォーマンスに影響します。記憶域は、追加領域の動的割当てを最小限に抑えるように割り当てられます。詳細は、storage_clauseを参照してください。