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);