通过将 force_utility 设置为 DSA,可以使用 Data Mover DSA 实用程序来创建和运行作业。如果未指定 force_utility,则在 Teradata Database 为 16.00 版或更高版本时会自动选择 Data Mover DSA 实用程序,前提是 DSA 不受限。使用 DSA 实用程序之前,请参阅 DSA 实用程序设置。
使用 DSA 在系统之间复制数据时,DSA 将保留块级别压缩。只有当目标系统具有不同的还原配置(例如,与源系统相比,AMP 的数量不同)时,目标系统中的数据才不会被压缩。如果目标系统具有与源相同的配置,则将在整个作业期间保留块级别压缩。由于在通过网络传输时,数据在所有情况下都保持压缩状态,因此,如果使用了块级别压缩,并且需要考虑网络因素的影响,则与其他复制方法相比,使用 DSA 可以显著提高性能。
规则和限制
Data Mover DSA 实用程序具有以下作业限制:
- DSA 实用程序可用于 Teradata Database 14.10 或更高版本。但是,Teradata Database 16.00 之前版本对 DSA 的支持有限。
- DSA 不支持移动日志。
- 除非指定了源暂存,否则 DSA 不支持复制部分表或视图数据。
- 无法使用 restart 命令重新启动失败的 DSA 作业。使用 clean up 之后再使用 start 可在解决失败问题后重新运行作业。
- 如果在源或目标数据库版本低于 16.20 的情况下复制数据库,DSA 将不保留仅存在于目标数据库上的对象。
- 当作业中包括索引且源或目标数据库版本低于 16.20 时,DSA 不支持复制表和数据库。
DSA 可选参数
在作业 XML 中,可以添加一个可选部分来支持自定义 DSA 参数,如下表所示:
参数名称 | 必需 | 说明 |
---|---|---|
target_group_name | 否 | 目标组由用于复制数据的媒体服务器组成。建议使用源或目标系统充当媒体服务器。如果源或目标系统充当媒体服务器,则表示该系统上的数据库节点已安装、配置 BAR NC 且 BAR NC 正在运行。对应的缺省目标组由 Data Mover DSA 实用程序自动创建,用于在 Data Mover 作业中复制数据。此参数应当仅由希望指定某个指定目标组而非使用 Data Mover DSA 实用程序所创建的缺省组的高级用户使用。 |
parallel_builds | 否 | 在还原期间可同时构建的索引数和回退子表数。并发构建的最大数目为 5,缺省值为 5。 |
以下示例显示了添加到 XML 的可选 DSA 参数:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <dmCreate xmlns="http://schemas.teradata.com/dataMover/v2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://schemas.teradata.com/dataMover/v2009/DataMover.xsd"> <source_tdpid>sourceSys</source_tdpid> <source_user>source_user</source_user> <source_password>source_password</source_password> <target_tdpid>targetSyc</target_tdpid> <target_user>target_user</target_user> <target_password>target_password</target_password> <data_streams>1</data_streams> <source_sessions>1</source_sessions> <target_sessions>1</target_sessions> <freeze_job_steps>FALSE</freeze_job_steps> <force_utility>DSA</force_utility> <log_level>99</log_level> <dsa_options> <target_group_name>my_target_group</target_group_name> <parallel_builds>1</parallel_builds> </dsa_options> <database selection="unselected"> <name>db1</name> <table selection="included"> <name>tb1</name> </table> </database> </dmCreate>