在目标系统负载槽位限制功能中,Data Mover 会根据所使用的 Teradata PT API LOAD 和 UPDATE 运算符限制同时运行的作业任务数。这些 API 运算符用于向目标系统加载数据,它们会限制在特定时间对特定 Teradata Database 运行的活动作业数。
Data Mover 外部的某些限制可能会覆盖 Data Mover 会话:
- TASM - 如果在特定的源系统或目标系统上启用了 Teradata 动态系统管理 (TASM) 会话规则,则 TASM 规则会覆盖 Data Mover 会话。
- DBSControl - 如果限制 DBSControl 实用程序的 MaxLoadTask 和 MaxLoadAWT 字段,则可能会覆盖 Data Mover 会话。
特定目标 Teradata Database 的运算符限制很容易被超出,因为每个 Data Mover 作业都可以使用这些运算符的多个实例,并且可以同时运行多个 Data Mover 作业。由于 Teradata Database 会拒绝或暂停尝试创建新运算符实例的操作,因此,Data Mover 作业随后可能会失败或暂停。
为了避免出现此类失败,Data Mover 会根据任务所使用的运算符来限制并发作业任务数。此限制会分别对每个目标 Teradata Database 系统强制实施。例如,如果某个作业具有 10 个使用限定运算符的任务,而目标系统负载槽位限制为 5,则 Data Mover 最多允许对目标 Teradata Database 系统并发运行这 10 个任务中的 5 个任务。如果在两个作业中,每个作业都具有 10 个使用限定运算符的任务,则在同时对相同的目标 Teradata Database 系统运行这两个作业时,Data Mover 仅允许同时运行这两个作业中总共 20 个任务中的 5 个任务。如果对不同的目标 Teradata Database 系统运行这两个作业,并且这两个系统的目标系统负载槽位限制均为 5,则 Data Mover 允许同时运行每个作业中的 5 个任务。使用非限定运算符的 Data Mover 作业和任务不受此功能的影响。
目标加载槽位功能不影响在特定时间可以运行的 Data Mover 作业的数量,也不能决定创建新作业时 Data Mover 选择的实用程序。
target.system.load.slots 配置属性用于控制目标系统负载槽位限制,该配置属性可通过 list_configuration 和 save_configuration 命令进行修改。使用 target.system.load.slots 属性可设置以下限制:
- 所有目标 Teradata Database 系统的缺省负载槽位限制
- 特定目标 Teradata Database 系统的不同限制
为了使目标系统负载槽位限制正常发挥作用,所有对特定目标 Teradata Database 系统运行的 Data Mover 作业都必须对相同目标系统使用相同名称或 IP 地址。否则,Data Mover 会假定这些作业正在使用不同的目标系统,并分别限制其任务数量,而不是限制总数量。