ソース ステージング テーブルを使用しない場合、Teradata ARCユーティリティを使用して部分テーブル コピーを実行するには、テーブルにパーティション プライマリ インデックス(PPI)を含める必要があります。非パーティション テーブルから部分データをコピーする場合に、ソース ステージング テーブルが使用されないときにはエラーが発生します。ARCでは、列パーティション テーブルや結合インデックス(基本AMP索引、プライマリ インデックス、基本以外の索引を持つものを含む)をアーカイブ、復元、およびコピーできません。ソース ステージング テーブルを使用しない場合、列パーティション テーブルまたは結合インデックスの部分的な移動にARCの使用を強制すると、エラー「ARCを使用して、列パーティション テーブルから一部のデータをコピーすることはできません。」が発生します。
Teradata ARCを使用して一部のデータをコピーするにはsql_where_clauseタグおよびkey_columnタグを使用しますが、WHERE句の中でパーティション列を指定する必要があります。これは、Teradata ARCの制約であり、WHERE句でパーティション列を指定しないと、エラーが発生します。
Teradata ARCを使用して部分テーブルをコピーするときは、オンライン アーカイブを設定しないでください。これは、Teradata ARCの制約であり、オンライン アーカイブを使用すると、エラーが発生します。
Data Moverは、Teradata ARCを使用して部分テーブルをコピーするときにステージング テーブルを作成します。Teradata ARCでWHERE句を使用してデータをアーカイブすると、条件を満たす行が属するパーティション全体をアーカイブします。そのため、パーティション全体がはじめにステージング テーブルにコピーされます。 パーティションのコピー後に、必要なデータ(WHERE句の条件を満たす行)だけがステージング テーブルからターゲット テーブルにコピーされます。
例えば、テーブルが月別にパーティション化されていて、WHERE DATE = '2019/03/08'の行をすべてコピーする場合は、'2019/03/08'は3月のパーティションに属するため、Teradata ARCによって3月のパーティション全体がアーカイブされます。3月のパーティション全体はステージング テーブルにコピーされます。次に、DATE = '2019/03/08'の条件を満たす行がステージング テーブルからターゲット テーブルにコピーされます。