tech_memo / ORACLE / DDL_Option


tech_memo/ORACLE

DDL Option

PCTUSED / PCTFREE

  • http://www.shift-the-oracle.com/table/pctfree-pctused.html
  • PCTUSED
    使用済領域のうち、データブロックごとに確保される最小限の割合。この割合を下回ると挿入可能なブロックとなる。
    自動セグメント領域管理の場合には PCTUSED は設定不要 で設定しても無視される。 
    11gR2より自動セグメント領域管理はデフォルトでON
  • PCTFREE
    オブジェクトの行を将来更新するために確保しておく領域の割合。この割合を超えるとブロックに挿入不可能になる。
  • 自動セグメント領域管理の設定確認
    select tablespace_name,segment_space_management
    from dba_tablespaces
    where tablespace_name = '対象セグメントがある表領域名';

INITRANS / MAXTRANS

  • http://www.oracle.co.jp/forum/thread.jspa?threadID=6003209
  • INITRANS
    データベース・オブジェクトに割り当てられた各データ・ブロックに割り当てられる、
    同時実行トランザクション・エントリの初期数を指定します。
  • MAXTRANS
    データベース・オブジェクトに割り当てられたデータ・ブロックを更新する同時実行トランザクションの最大数を指定します。

ENABLE(DISABLE) STORAGE IN ROW

LOB値がインラインに格納されるのは、次のいずれかの条件に該当する場合です。

表の作成時にLOBのSTORAGE句にENABLE STORAGE IN ROWを明示的に指定し、かつ、指定の行に格納されるLOBのサイズが4KB以下の場合。

列のLOB記憶域プロパティにかかわらず、LOB値がNULLの場合。

デフォルトのLOB記憶域プロパティ(インライン記憶域)を使用する方がデータベースのパフォーマンスが向上し、
小さいLOB値のためのアウトライン記憶域の作成と管理に伴うオーバーヘッドを回避できます。 
データベースに格納されるLOB値のサイズが小さいときが多い場合は、インライン記憶域を使用することをお薦めします。