COPY文では、データベースDBCをコピー先データベース名として使用しないでください。 COPY FROMでDBCをコピー元データベースとして使用できますが、DBCと異なるコピー先データベース名を指定します。 この指定により、DBCをコピー元システムからコピー先システムの別のデータベースにコピーできます。 データベースDBCをCOPY FROMでコピー元データベースとして使用した場合、データベースSYSUDTLIBとリンクされません。 したがって、データベースDBCのみがコピーされます。
COPY文では、データベースSYSUDTLIBをコピー先データベース名として使用しないでください。 COPY FROMでSYSUDTLIBをコピー元データベースとして使用できますが、SYSUDTLIBと異なるコピー先データベース名を指定します。 この指定により、SYSUDTLIBをコピー元システムからコピー先システムの別のデータベースにコピーできます。 データベースSYSUDTLIBをCOPY FROMでコピー元データベースとして使用した場合、データベースDBCとリンクされません。 したがって、データベースSYSUDTLIBのみがコピーされます。
Teradata ARCは、コピー操作で重複行をサポートしています。 ただし、重複行を含むテーブルのコピー中に再起動が発生した場合は、再起動に関係した重複行が除去されることがあります。
再構成後のシステムにクラスタ レベルのアーカイブの復元を実行する場合、クラスタ レベルのアーカイブは、連続した順番で実行する必要があります。 ARCMAINがこの復元処理を検出すると、NO BUILDオプションが自動的に有効になります。このオプションが指定されていない場合は、すべての復元ジョブが完了してから明示的にBUILDコマンドを実行する必要があります。
COPYは、新しい環境へのデータベースまたはテーブルの移動に使用します。 COPYでは、テーブルの名前を変更したり、既存のデータベース内にテーブルを作成したりすることもできます。 テーブルは、コピー先のデータベース内に存在している必要はありません。 しかし、Teradata Database内部のテーブル識別子は新しいテーブルと異なるため、テーブルのアクセス権限はデータと一緒にはコピーされません。
構成の異なる古いバージョンのソース システムからデータベースやテーブルのコピーを実行するときには、ターゲット システムにデータをコピーするために必要となる時間と領域が影響を受けます。 データは、AMPの新しいセット間で再分散されなければなりません。 AMPの数がソース システムとターゲット システムで異なる場合、システムは、別のアルゴリズムを使用してコピーおよび復元を実行します。 構成が異なる場合は、その新しいアルゴリズムを使用した方が通常は高速になります。 限定的な状況においては、古いアルゴリズムの方が高速になる可能性があります。
デフォルト文字セットまたはTeradata ARCの起動時に指定されている文字セット以外の文字セットで生成されたテーブル名をコピーしないでください。 例えば、マルチバイト文字セット アーカイブからのテーブル名を、シングルバイト文字セットのデータベースにコピーすることはできません。
この制限を回避するには、次の操作を行ないます。
- 実行時オプションHEXを指定してアーカイブ テープをANALYZEします。
- 結果: テーブル名は16進数形式で表示されます(例: X' C2C9C72A750A3AC5E4C5E4C36DD9D6E6)。
- COPY table文を、その16進数形式のテーブル名を使用して実行します。
COPY文で複数のテーブルまたはデータベースをコピーする場合は、名前をカンマで区切ります。Teradata ARCによって、処理する各COPY文のアーカイブ データが読み取られるので、複数のCOPY文より1つのCOPY文の方がパフォーマンスが良くなります。