ALTER TABLE文でEXCHANGE PARTITION ... INCLUDING INDEXES句を使用すると、空間表パーティションおよびその索引パーティションを対応する表およびその索引と交換できます。パーティションの交換については、『Oracle Database SQL言語リファレンス』のALTER TABLE文の説明を参照してください。
この機能を使用すると、次のような様々な状況でより効率的に操作を実行できます。
データをパーティション表に挿入し、索引作成のコストを回避する場合。
パーティション索引を管理および作成する場合。たとえば、データを複数表に分割できます。各表の索引を1つずつ作成して、索引作成中に必要なメモリーおよび表領域リソースを最小化できます。または、索引を複数のセッションでパラレルで作成することもできます。その後、表を(索引とともに)元のデータ表のパーティションと交換できます。
オフライン挿入操作を管理する場合。新しいデータを一時表に格納し、定期的に新しいパーティションと交換できます(履歴データを含むデータベース内など)。
索引を含むパーティションを空間データおよびその索引と交換するには、2つの空間索引(1つはパーティションの索引、もう1つは表の索引)が同じ次元数(sdo_indx_dims
値)である必要があります。2つの索引が同じ次元数でない場合は、エラーが発生します。表データは交換されますが、索引は交換されず、変換に失敗したことが示されます。索引を使用するには、その索引を再作成する必要があります。