使用暂存表时的日志记录限制 - Teradata Data Mover

Teradata® Data Mover 用户指南

Product
Teradata Data Mover
Release Number
16.20
Published
2021 年 11 月
Language
中文 (简体)
Last Update
2021-12-02
dita:mapPath
zh-CN/wph1512683331242.ditamap
dita:ditavalPath
zh-CN/mpm1591127278842.ditaval
dita:id
B035-4101
Product Category
Analytical Ecosystem

在某些情况下,使用 Teradata ARC 时,作业可将表复制到暂存表。然后,作业会从暂存表向目标表执行 INSERT/SELECT 语句。如果目标表在目标数据库中不存在,则 Data Mover 会使用 SHOW TABLE 命令的输出内容创建目标表。

作业使用 Teradata ARC 和暂存表时,存在以下限制:
  • 如果表在目标数据库中不存在,并且具有关联日志,则该关联日志必须存在于目标数据库中。即使为表指定了 <journaling>false</journaling>,也是如此。
  • 如果表在目标数据库中存在,并且具有关联日志,Data Mover 将保留目标表的日志属性。即使为表指定了 <journaling>false</journaling>,也是如此。
目标数据库用户必须具有创建表的权限,才能创建与日志关联的目标表。

如果您尝试将日志数据应用或复制到一个要复制到暂存表的表中,则会发生创建时间错误。要避免此错误,请将要复制的表的 <journaling> 属性设置为 false.

在以下情况下,Data Mover 必须使用暂存表:
  • 作业在 Teradata Database 之间复制表,并且该表在源数据库中具有联接或哈希索引。
  • 作业复制了一个表及其关联触发器,而该触发器指定了 BEFORE 作为 action_time 参数。
  • 作业复制了一个使用外键的源表,而该表在目标数据库中不存在。
  • 作业使用 Teradata ARC 对表进行了部分复制。