プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

リスト・パーティション表のパーティションの分割

ALTER TABLE SPLIT PARTITION文を使用して、リスト・パーティションを分割します。SPLIT PARTITION句を使用すると、リテラル値のリストを指定してパーティションを定義できます。このパーティションに、対応するパーティション化キー値を含む行が挿入されます。元のパーティションのその他の行は、元のパーティションの残りの値が値リストに含まれる2番目のパーティションに挿入されます。分割の結果である2つのパーティションに、オプションで新しい属性を指定できます。

次の文では、パーティションregion_eastが2つのパーティションに分割されます。

ALTER TABLE sales_by_region 
   SPLIT PARTITION region_east VALUES ('CT', 'MA', 'MD') 
   INTO 
    ( PARTITION region_east_1 
         TABLESPACE tbs2,
      PARTITION region_east_2
        STORAGE (INITIAL 8M)) 
   PARALLEL 5;

元のregion_eastパーティションのリテラル値のリストは、次のように指定されています。

PARTITION region_east VALUES ('MA','NY','CT','NH','ME','MD','VA','PA','NJ')

2つの新しいパーティションは次のとおりです。

  • リテラル値のリストが('CT','MA','MD')region_east_1

  • 残りのリテラル値のリスト('NY','NH','ME','VA','PA','NJ')を継承しているregion_east_2

個々のパーティションには、パーティション・レベルで指定された新しい物理属性があります。操作は並列度5で実行されます。

その他のリスト・パーティションの分割と同じように、デフォルトのリスト・パーティションを分割できます。これは、デフォルトのパーティションがあるリスト・パーティション表にパーティションを追加する唯一の方法でもあります。デフォルトのパーティションを分割する際には、指定した値で定義された新しいパーティションと、デフォルトのパーティションとして残る2つ目のパーティションを作成します。

次の例では、sales_by_regionのデフォルトのパーティションを分割し、それによって新しいパーティションを作成します。

ALTER TABLE sales_by_region 
   SPLIT PARTITION region_unknown VALUES ('MT', 'WY', 'ID') 
   INTO 
    ( PARTITION region_wildwest,
      PARTITION region_unknown);