关于复制日志 - 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。如果尝试使用 Teradata PT API 或 Teradata DSA 复制日志数据,会导致出错。

查询包含日志的数据库时,XML 中将显示日志的信息。在以下示例中,<journal> 元素的属性 selection="included" 指定应复制日志。下表列出了其他参数。

<journals> 
	<journal selection="included">
		<journal_database>west1000</journal_database>
		<name>MyJournal</name>
	</journal>

	<journal selection="included">
		<journal_database>MyDatabase1</journal_database>
		<name>MyDBJournal1</name>
	</journal>
</journals>
日志表元素的参数
参数 说明
journal selection
  • 指定“included”将复制日志
  • 指定“unselected”将不复制日志
journal_database 日志所在的数据库或用户。
name 日志的名称。

复制日志时,不会将整个日志复制到目标系统。只会将作为作业的一部分复制的表的日志信息复制到目标系统。将 TableA(使用称为 JournalABC 的日志)和 JournalABC 作为作业的一部分进行复制时,仅将 TableA 中与 JournalABC 关联的日志信息复制到目标。不会将整个日志表 JournalABC 复制到目标系统。

日志复制规则

  • 如果目标系统中存在日志表,可以只复制使用日志的数据表而不复制与这些表相关联的日志数据。例如,假设 TableA 使用了一个名为 JournalABC 的日志,如果目标系统中存在 JournalABC,则可以只复制 TableA 而不复制 JournalABC。
  • 复制日志表时,必须至少复制一个使用该日志的表,否则创建作业时会出错。
  • 覆盖目标系统中的某个表时,现有目标表必须使用与源表相同的日志,否则在复制该表的日志数据时会出错。例如,如果源系统中的 TableA 使用名为 JournalQQQ 的日志,目标系统中的 TableA 使用名为 JournalYYY 的日志,则将 TableA 从源系统复制到目标系统时,会覆盖目标系统中的 TableA,但会使用现有目标表的日志 JournalYYY。这时尝试从日志 JournalQQQ 中为此表复制日志数据将导致错误。
  • 如果现有目标表没有日志表,创建的新目标表将不带日志记录功能。尝试为没有日志记录功能的表复制日志数据将导致出错。
  • 当目标系统的哈希存储桶大小与源系统的哈希存储桶大小不一致时,不支持还原永久日志数据。
  • 当源系统的版本是先前的某个主版本时,无法复制日志数据。
  • 在 32 位和 64 位系统之间复制数据时,由于两个系统的日志行格式不同,将无法复制日志数据。