ソース データベースから別のターゲット データベースにすべてのオブジェクトを再配置できます。 ソース内のすべてのオブジェクトを別のターゲット データベースにコピーするには、target_database要素を追加し、ターゲット データベースの名前を指定します。 target_databaseは、selection = "included"と指定した場合にのみ指定できます。 selection= "all"のときにtarget_database要素を指定すると、作成時エラーになります。
ジョブを作成するにはターゲット データベースが存在している必要があります。Data Moverでは、ターゲット システム上にデータベースは作成されません。
- target_database要素を追加します。
- ターゲット データベースの名前を指定します。
次の例では、データベースMySourceDB内のオブジェクトがターゲット データベースMyTargetDBにコピーされます。
<database selection="included"> <name>MySourceDB</name> <target_database> <name>MyTargetDB</name> </target_database> </database>
データベース全体を再配置するときに、Teradata DSAは結合インデックスおよびハッシュ インデックスをソース データベースから自動的にコピーしません。ターゲットにコピーされる結合インデックスまたはハッシュ インデックスは、XMLで指定する必要があります。インデックスは、ターゲットに再配置されたテーブル上で作成されます。結合インデックスまたはハッシュ インデックス自体は再配置されません。
16.20より前のバージョンのデータベースでDSAを使用している場合は、ジョブ内で追加のindicesセクションを指定することはできません。DSAを使用してデータベース全体を再配置するときに、インデックスのみをコピーする独立したジョブを作成する必要があります。
次の例では、ハッシュ インデックスMyDB.orders_hiがターゲット データベースMyDBにコピーされます。関連テーブルMyDB.OrdersはMyTargetDBに再配置されるため、ハッシュ インデックスはターゲット上のテーブルMyTargetDB.Ordersに対して作成されます。<database selection="included"> <name>MyDB</name> <target_database> <name>MyTargetDB</name> </target_database> </database> <indices> <index selection="included"> <name>Orders_hi</name> <index_database>MyDB</index_database> <index_type>HASH_INDEX</index_type> </index> </indices>