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

前
次

コンポジット* - レンジ・パーティション表へのパーティションの追加について

パーティションは、パーティション・レベルとレンジ・サブパーティション・レベルの両方で追加できます。

* - レンジ・パーティション表へのパーティションの追加

[レンジ | リスト | 時間隔] - レンジ・パーティション表への新しいパーティションの追加は、すでに説明されている内容と同様です。特定の時間隔のデータが挿入されると、データベースにより時間隔 - レンジ・パーティション表に時間隔パーティションが自動的に作成されます。特定のサブパーティションに名前を付け、レンジを指定するには、SUBPARTITION句を指定します。SUBPARTITION句が指定されていない場合、パーティションは、表レベルに指定されたサブパーティション・テンプレートを継承します。サブパーティション・テンプレートがない場合には、最大値がMAXVALUEの単一のサブパーティションが作成されます。

例4-27では、2007年1月に注文された出荷品に関するデータが移入されるレンジ・パーティションp_2007_janを、レンジ - レンジ・パーティション表shipmentsに追加します。3つのサブパーティションがあります。サブパーティションはパーティション・レベルから圧縮属性を継承し、この例では圧縮された形式で格納されます。

例4-27 レンジ - レンジ・パーティション表へのパーティションの追加

ALTER TABLE shipments
   ADD PARTITION p_2007_jan
      VALUES LESS THAN (TO_DATE('01-FEB-2007','dd-MON-yyyy')) COMPRESS
      ( SUBPARTITION p07_jan_e VALUES LESS THAN (TO_DATE('15-FEB-2007','dd-MON-yyyy'))
      , SUBPARTITION p07_jan_a VALUES LESS THAN (TO_DATE('01-MAR-2007','dd-MON-yyyy'))
      , SUBPARTITION p07_jan_l VALUES LESS THAN (TO_DATE('01-APR-2007','dd-MON-yyyy'))
      ) ;

* - レンジ・パーティション表へのサブパーティションの追加

レンジ・サブパーティションを[レンジ | リスト | 時間隔] - レンジ・パーティション表に追加するには、ALTER TABLE文のMODIFY PARTITION ADD SUBPARTITION句を使用します。時間隔 - レンジ・パーティション表の場合、パーティションを追加できるのは、マテリアライズ化されたレンジまたは時間隔パーティションのみです。

次の例では、order_dateが2007年1月で、delivery_dateが2007年4月1日以降のすべての値が含まれるshipments表に、レンジ・サブパーティションを追加します。

ALTER TABLE shipments
   MODIFY PARTITION p_2007_jan
      ADD SUBPARTITION p07_jan_vl VALUES LESS THAN (MAXVALUE) ;