Data Mover 支持使用 Teradata Database MAPS Architecture 功能 (MAPS) map 和 colocate 参数来复制以下对象:
- 表
- 索引(联接索引或哈希索引)
- 外部服务器 – 使用以下实用程序进行的数据传输:
- JDBC
- TPTAPI
- T2T
- T2H
- TDCH
下表介绍了可以指定 map 和 colocate 参数的位置。它们按参数优先级顺序列出:
级别 | 说明 |
---|---|
对象 | 为指定对象(表、索引或外部服务器)使用 map 和 colocate 参数。 |
数据库 | 为数据库中的所有指定对象使用 map 和 colocate 参数。 |
作业 | 为指定作业中的所有对象使用 map 和 colocate 参数。 |
系统 | 为将指定系统用作目标系统的所有作业使用系统级 map。 |
规则和限制
- 当对 Teradata Database 16.10 或更高版本使用 ARC 时,必须将 DBS Control 内部标志 EnableARC4MHM 设置为 true。缺省值为 false。
- 在任何级别移动对象或数据库时,ARC 无法指定 map 或 colocate 详细信息。
- ARC 要求源数据库及其对象对完整数据库复制使用全 AMP 连续映射;ARC 将覆盖目标数据库上的对象映射,并使用全 AMP 连续映射。
- 仅当配置参数 databaseQueryService.useBaseViewsOnly 设置为 true(缺省值)时,Data Mover 才会验证是否满足 ARC MAPS 限制。如果此参数设置为 false,即使 ARC 是唯一可用的复制方法,Data Mover 的缺省设置也不会是 ARC。您可以将force utility作业参数设置为 ARC,强制 Data Mover 允许创建和运行作业。但是,如果不满足 ARC MAPS 限制,可能会出现以下情况:
- ARC 在运行时出现故障
- ARC 仅复制对象定义,不复制对象数据
- 在 Teradata Database 16.10 之前的数据库中,不支持 map 和 colocate 参数。
- 目标用户必须具有目标映射的权限。
- 当对象所有者和目标登录用户相同时,或者目标所有者的映射为 null 时,目标缺省映射是 help session 映射。当目标对象所有者和用户不同时,系统会使用目标所有者的映射作为目标缺省映射。help session 是显示当前会话相关信息的查询。请参阅 Teradata Database 工具和实用程序指南。
- 只允许为 sparse 映射创建 colocate 名称,并且此名称可以是任何有效名称。缺省名称为 DatabaseName_TableName。
- DSA 在复制表时支持用户定义的 map 值,但不支持用户定义的 colocate 值。未指定映射时,DSA 将尝试在目标系统上查找与源表具有相似定义的映射。如果找不到映射或者用户对稀疏映射不具有权限,DSA 将使用缺省映射。
- 启用 DDL 时,请确保以下映射和共同定位参数相匹配:
- 如果在源系统和目标系统上存在映射和共同定位参数,则这些参数应相匹配。
- 如果在作业中提供了映射和共同定位参数,这些参数应与目标系统上的映射和共同定位参数相匹配。
XML 示例
通过 configuration.xml 指定系统级映射参数,并使用 save_configuration 命令进行保存:
<property> <key>map</key> <value>false</value> <maps> <systemLevelMap> <system>prodSystem1</system> <map>sparsemap4amp</map> </systemLevelMap> </maps> </property>
为创建作业或编辑作业指定作业级 map 和 colocate 参数:
<dmCreate> . . . . . . <log_to_even_table><log_to_event_table> <map>TD_SparseMap</map> <colocate>ColocationName2</colocate> . . . . . . </dmCreate>
指定数据库级 map 和 colocate 参数,如下面的示例中所示:
<database selection="unselected"> . . . . . . <compare_dll></compare_dll> <map>TD_SparseMap</map> <colocate>ColocationName2</colocate> . . . . . . </database>
要指定表、索引(联接索引或哈希索引)和外部服务器级 map 和 colocate 参数,请参阅本指南中的相应章节。