web-dev-qa-db-ja.com

既存の分割テーブルにサブパーティションを追加する

Oracle 11gでは、既存のパーティション分割テーブルにサブパーティションを導入する方法はありますか?

正しい動作をするEXCHANGESPLITパーティションの組み合わせを見つけることができないようです。 SPLITは、パーティションを複数のパーティションに分割し、サブパーティションを導入しません。助言がありますか?

1つのパーティションを持つテーブルに交換してからSPLITを使用して、既存の非パーティションテーブルのパーティション分割に関する既存の投稿を見つけましたが、サブパーティションの同等のプロセスを理解できません。

5
wrschneider

次のコマンドを使用して、新しいサブパーティションを既存のパーティションテーブルに追加できます。

ALTER TABLE PART_TEST
modify partition OCT19 
add subpartition OCT19AXCS 
values ('AXCS');
4
yogesh

私はそれを理解したと思いますが、それは退屈で、2つの一時テーブルを必要とし、一度に1つのパーティションで実行する必要があります。もっと良い方法はありますか?

パーティションごと元の(ソース)テーブル内

  1. パーティションをパーティション化されていない一時テーブル(alter table source exchange partition X with table TEMP1
  2. 一時テーブルを、ターゲットテーブルのsubpartitionsと同じキーでパーティション化された、2つの一時テーブルに交換し、単一のデフォルトパーティション(alter table TEMP2 exchange partition Y with table TEMP1
  3. パーティション分割された一時テーブルをターゲットテーブル(alter table target exchange partition X with table TEMP2
  4. ターゲットテーブルには、サブパーティションYを持つパーティションXがあります-サブパーティションYを目的のサブパーティション(alter table target split subpartition Y ....
1
wrschneider