バックアップテーブルから1つのパーティションを復元しようとしています。両方のテーブルに同じ名前のパーティションがあります。私の目標は、バックアップテーブルパーティションxからデータを取得し、元のテーブルパーティションxに配置することです。 xはパーティションの名前です。
私は補助テーブルを使用してそれをやろうとしました。それらを直接交換する方法、またはより優れたパフォーマンスを持つ他のソリューションはありますか?
これ見たことある? https://community.Oracle.com/thread/889338?start=0&tstart=
これは、パーティション化されたテーブルからパーティション化されていないテーブルへ、またはその逆にのみパーティションを交換できることを示しています。
パーティションを一時的な非パーティション化テーブルに一時的に交換してから、ターゲットパーティションテーブルに交換する必要があります。
上記の広義のルールには興味深いしわがあります。 Oracleのドキュメントから抜粋した次の抜粋を参照してください。
exchange_partition_subpart
EXCHANGE PARTITIONまたはEXCHANGE SUBPARTITION句を使用して、次のデータおよびインデックスセグメントを交換します。
次のものを含む1つの非パーティションテーブル:
1つの範囲、リスト、またはハッシュパーティション
1つの範囲、リスト、またはハッシュサブパーティション
範囲範囲またはリスト範囲のコンポジットパーティションテーブルパーティションの範囲サブパーティションを持つ1つの範囲パーティションテーブル
範囲ハッシュまたはリストハッシュコンポジットパーティションテーブルパーティションのハッシュサブパーティションを含む1つのハッシュパーティションテーブル
範囲リストまたはハッシュリストの複合パーティションテーブルパーティションのリストサブパーティションを持つ1つのリストパーティションテーブル
すべての場合において、テーブルの構造と、パーティションキーを含む交換されるパーティションまたはサブパーティションは、同一である必要があります。リストパーティションとサブパーティションの場合、対応する値リストも一致する必要があります。