在对象、数据库或作业级别设置 DDL 比较 - Teradata Data Mover

Teradata® Data Mover 用户指南

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

在作业创建 XML 中使用 compare_ddl 元素可指定要对单个对象、单个数据库中的所有表和视图或作业中的所有表和视图执行的 DDL 比较。

compare_ddl 标志在对象、数据库或作业级别始终为可选标志;无需明确设置值。缺省情况下,在指定要复制的单个表或视图时会启用 DDL 比较,而在复制整个数据库时会对表和视图禁用此比较。

  1. 打开包含该作业的作业定义信息的 parameters.xml 文件。
  2. 在作业创建 XML 中的适当位置添加 compare_ddl 元素,然后指定所需的值:
    选项 说明
    true 对单个对象或者数据库或作业中的所有表和视图执行 DDL 比较。
    false 不对单个对象或者数据库或作业中的所有表和视图执行 DDL 比较。
    unspecified 使用缺省值,除非指定其他更高的优先级值。
    以下示例将根据要设置 DDL 比较标志的范围级别显示 compare_ddl 元素的位置。
表示例:对 Table1 执行 DDL 比较(缺省),而不对 Table2 执行 DDL 比较。
<table selection="included">
  <name>Table1</name>
</table>
<table selection="included">
  <name>Table2</name>
  <compare_ddl>false</compare_ddl>
</table>
视图示例:在复制视图时执行 DDL 比较。请注意,copyData 元素也必须设置为 true
<views>
  <view selection="included" copyData="true">
    <name>deptsals</name>
    <database>MyDb</database>
    <view_data_table>
      <target_table>TargetTable</target_table>
      <target_database>TargetDb</target_database>
    </view_data_table>
    <compare_ddl>true</compare_ddl>
  </view>
</views>
数据库示例:对数据库中的所有表和视图执行 DDL 比较。
<database selection="all">
  <name>MyDB</name>
  <compare_ddl>true</compare_ddl>
</database>
数据库中的表示例:在复制整个数据库时,对 MyDB 数据库中除 MyDB.PPIOrders 表以外的表执行 DDL 比较。
<database selection="all">
  <name>MyDB</name>
  <compare_ddl>true</compare_ddl>
  <table selection="included">
    <name>PPIOrders</name>
    <compare_ddl>false</compare_ddl>
  </table>
</database>
作业示例:对作业中的所有表和视图执行 DDL 比较。
 <job_name>MyJob</job_name>
 ...
 <overwrite_existing_objects>true</overwrite_existing_objects>
 <force_utility>tptapi</force_utility>
 <compare_ddl>true</compare_ddl>
 <database>
 ...
 </database>