用途
start 命令可启动使用 create 命令创建的作业。 运行时,您可以通过在命令行中输入作业变量值,指定与初始使用的值不同的作业变量值。此外,也可以通过提供已更新的 parameters.xml 文件来修改作业变量值和要复制的对象列表。如果守护程序没有充足的资源来立即运行作业,作业将入队等待。
参数
请参阅参数顺序。
- data_streams
- [可选] 可在源数据库和目标数据库之间使用的数据流数量。适用于使用 Teradata DSA 和 TPT API(与 Teradata 之间)的作业。所有其他协议均使用单个数据流。
- db_client_encryption
- [可选] 数据传输期间需要加密作业时设置为 true。
- dm.rest.endpoint
- [可选] 输入 Data Mover REST 服务器 URL 以覆盖 commandline.properties 文件中指定的缺省值,以便在运行时连接到不同的 REST 服务器(进而连接到不同的守护程序)。
- force_utility
- [可选] 强制 Data Mover 守护程序使用特定实用程序执行所有复制操作。
有效值
- dsa
- jdbc
- tptapi
- tptapi_load
- tptapi_stream
- tptapi_update
- T2T
使用 Teradata DSA 将数据复制到旧版 Teradata Database 是无效的。如果源 TDPID 和目标 TDPID 相同,则不能使用 Teradata DSA。 - job_name
- 要启动的作业的名称。
- job_priority
- [可选] 指定作业的执行优先级。支持的值包括:“HIGH”、“MEDIUM”、“LOW”和“UNSPECIFIED”。如果未指定值,则运行时使用缺省值“MEDIUM”。
- log_level
- [可选] 日志文件输出的日志级别。
有效值
- 0
- 1
- 2
- 99
- max_agents_per_task
- [可选] 移动表或数据库时,可并行使用的 Data Mover 代理的最大数量。
- netrace
- [可选] CLI netrace 参数。该值大于或等于 0 时会生成 CLI 跟踪日志。必须提供有效的 CLI 值。
- netrace_buf_len
- [可选] CLI netrace_buf_len 参数。该值大于或等于 0 时会生成 CLI 跟踪日志。必须提供有效的 CLI 值。
- online_archive
- [可选] 使用 Teradata DSA 复制源表时,允许读写访问源表。复制过程中源表会发生更新,但更新不会传输至目标表。复制成功后,目标表中包含的数据与复制开始时源表中的数据匹配。有效值
值 说明 True 启用在线存档 False 禁用在线存档 Unspecified 缺省值- 此值将设置为 Data Mover 守护程序配置文件中的值 - overwrite_existing_objects
- [可选] 作业覆盖目标上已存在的对象。有效值如果未指定此参数,该值将设置为 Data Mover 守护程序配置文件中的 overwrite_existing_objects 参数值。如果此参数指定为 true 或 false,则该值优先于 Data Mover 守护程序配置文件中的参数值。
值 说明 True 启用覆盖 False 禁用覆盖 Unspecified 缺省值- 此值将设置为 Data Mover 守护程序配置文件中的值 - query_band
- [可选] 唯一标识 Teradata 会话或源及目标事务的分号分隔名称-值对集。要使用查询带标识作业 payroll、用户 ID aa100000 以及作业会话编号 1122,请按照如下方式定义查询带:
- response_timeout
- [可选] 等待 Data Mover 守护程序响应的时间(以秒为单位)。
- save_changes
- [可选] 保存已更改的作业变量值,并使用这些值替换作业创建时最初定义的值。
- security_password
- [可选] 超级用户或授权 Viewpoint 用户的密码。
- security_password_encrypted
- [可选] 超级用户的加密密码。
- security_username
- [可选] 超级用户或授权 Viewpoint 用户的用户 ID。超级用户的用户 ID 为 dmcl_admin 且不能更改。
- source_account_id
- [可选] 源数据库的登录帐户 ID。
- source_logon_mechanism
- [可选] 源系统的登录机制。要登录源 Teradata Database 系统,用户必须至少提供以下其中之一:
- source_user 和 source_password
- source_logon_mechanism
Teradata DSA 作业不支持登录机制。请仅对 Teradata PT API 和 Teradata JDBC 作业使用登录机制。如果指定了 -source_logon_mechanism,而未使用 -force_utility,则缺省情况下会使用 Teradata PT API。如果已为 -force_utility 指定 Teradata DSA,指定 -source_logon_mechanism 将导致出现错误。
- source_logon_mechanism_data
- [可选] 源系统的登录机制所需的其他参数。
- source_password
- [可选] 源 Teradata 登录密码。
- source_sessions
- [可选] 源数据库上每数据流的会话数。
- source_tdpid
- [可选] 源 Teradata Database。
- source_user
- [可选] 源 Teradata 登录 ID。
- sync
- [可选] 等待作业完成,然后返回表示作业成功完成与否的退出代码。退出代码 0 表示作业成功完成。0 之外的退出代码表示作业或命令出错。
- target_account_id
- [可选] 目标数据库的登录帐户 ID。
- target_logon_mechanism
- [可选] 目标系统的登录机制。要登录目标 Teradata Database 系统,用户必须至少提供以下其中之一:
- target_user 和 target_password
- target_logon_mechanism
Teradata DSA 不支持登录机制。请仅对 Teradata PT API 和 Teradata JDBC 作业使用登录机制。如果指定了 -target_logon_mechanism,而未使用 -force_utility,则缺省情况下会使用 Teradata PT API。如果已为 -force_utility 指定 Teradata DSA,则指定 -target_logon_mechanism 将导致出现错误。
- target_password
- [可选] 目标 Teradata 登录密码。
- target_sessions
- [可选] 目标数据库上每数据流的会话数。
- target_tdpid
- [可选] 目标 Teradata Database。
- target_user
- [可选] 目标 Teradata 登录 ID。
- tpt_debug
- [可选] TPT API 跟踪调试日志参数。该值大于或等于 0 时会生成 TPT API 跟踪日志。必须提供有效的 TPT API 值。
- uowid
- [可选] 与作业关联的批量工作的备用 ID 或名称。如果提供了此参数的值,将事件发送至 Teradata Ecosystem Manager 或其内部 TMSMEVENT 表时,Data Mover 将此值报告为工作单元 ID。如果未指定此参数,将事件发送至 Teradata Ecosystem Manager 或其内部 TMSMEVENT 表时,Data Mover 会使用缺省值作为工作单元 ID。工作单元 ID 的缺省值由作业执行名称和当前时间戳构成。例如,如果要定义查询源的来源,而作业执行名称为 sales_table,则工作单元 ID 的缺省值为 sales_table-20211110122330
用法说明
每次启动作业时,系统都会创建一个名为 job name-date time year 的新作业实例。此名称将显示在 status 命令或日志中,用以标识此次执行的作业的信息。在作业启动后,使用 status 命令来监控作业状态。
如果某个作业实例未完成所有指定步骤,则无法启动新的作业实例。如果守护程序没有足够的资源来立即运行作业,则会将该作业放入队列中。不允许将相同的对象复制到另一个处于正在运行或排队状态的作业所在的目标。
- 直接在命令行上指定作业变量的值,就像您使用 create 命令一样。例如,要将 job1 的日志记录级别设置为值 99,请键入: datamove start -job_name job1 -log_level 99。
- 通过修改 XML 文件并将其提交到 start 命令来为作业变量指定新值,就像使用 create 命令一样:datamove start -job_name job1 -f job1.xml
如果需要修改要复制的对象列表,则必须修改并提交 XML 文件。请确保该 XML 文件包含所有要复制的对象,而不仅仅是更改了名称的对象。如果最初指定要复制的某个对象不再包含在该列表中,则在作业执行中也不会包含该对象。
- 在命令行提示符处,键入:datamove start -job_name job1 -log_level 99 -save_changes
- 在 XML 文件中,指定: <saveChanges>true</saveChanges> 保存更改参数语法在命令行和 XML 文件中使用时有所不同,如示例中所示。
- 如果启用了安全设置,则用户必须具有写入权限,才能将保存更改参数设置为 true。
- 如果用户不是作业所有者,则在 XML 中指定对象列表并使用 start 命令提交时必须提供源和目标 Teradata 系统用户名和密码。
- 如果已启用安全设置,并且在修改后的 XML 中指定了job_security 以更改作业权限,则用户必须为 dcml_admin 或作业所有者,并且该用户必须提供所有权限,而不仅仅是修改后的权限。如果在 job_security 中指定了 job_owner,并且用户希望更改作业所有者,则用户必须为 dcml_admin。
XML 文件示例
对于 start 命令,请键入 datamove start -f parameters.xml。
<?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/unity/datamover.xsd">
<job_name>testStart</job_name>
<source_tdpid>dmdev</source_tdpid>
<source_user>dmuser</source_user>
<source_password>dbc</source_password>
<target_tdpid>dm-daemon2</target_tdpid>
<target_user>dmuser</target_user>
<target_password>dbc</target_password>
<data_streams>1</data_streams>
<source_sessions>1</source_sessions>
<target_sessions>1</target_sessions>
<overwrite_existing_objects>TRUE</overwrite_existing_objects>
<freeze_job_steps>true</freeze_job_steps>
<force_utility>DSA</force_utility>
<log_level>1</log_level>
<online_archive>false</online_archive>
<database selection="unselected">
<name>testdb</name>
<table selection="included">
<name>fmt_inf</name>
<validate_row_count>ALL</validate_row_count>
</table>
<table selection="included">
<name>test1</name>
<compare_ddl>true</compare_ddl>
</table>
</database>
</dmCreate>
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<dmEdit xmlns="http://schemas.teradata.com/dataMover/v2009"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.teradata.com/unity/DataMover.xsd">
<job_name>testStart</job_name>
<source_user>dmuser</source_user>
<source_password>dbc</source_password>
<target_user>dmuser</target_user>
<target_password>dbc</target_password>
<database selection="unselected">
<name>testdb</name>
<table selection="included">
<name>fmt_inf</name>
<validate_row_count>ALL</validate_row_count>
<compare_ddl>true</compare_ddl>
<sql_where_clause>
<![CDATA[ where i = 2]]>
</sql_where_clause>
<key_columns>
<key_column>i</key_column>
</key_columns>
</table>
<table selection="included">
<name>test3</name>
<validate_row_count>ALL</validate_row_count>
<compare_ddl>true</compare_ddl>
</table>
</database>
</dmEdit>