跳到主要内容 跳到补充内容

控制 CDC 流程

数据移动网关 使用 ECSA 存储器结构(称为 R4Z CDC 服务),这些结构是在 CDC 处理过程中形成的。每个 z/OS LPAR 可以包含几个这样的 R4Z CDC 服务。为了形成 R4Z CDC 服务,提供了一个特殊的实用程序 R4ZCTL。

该程序还可以用于管理 CDC 处理的状态以及 z/OS 端的流量水平。

然而,需要 R4Z control program (R4ZCTL ) 用于以下目的:检查 CDC 并报告 CDC 服务的状态、暂停 CDC 处理、恢复暂停的 CDC 以及正常或强制终止 CDC 处理。

运行 R4ZCTL 程序时可用的命令参数为:

信息注释

如果在没有任何参数的情况下运行该命令,它将返回 CDC 服务的当前状态。

  • CHECKCONFIG - 验证配置参数是否有效
  • PAUSE_TASK - 停止特定 CDC 任务的服务
  • PAUSE_CDC - 停止 CDC 服务的整个活动
  • RESUME_TASK - 允许暂停的任务继续
  • RESUME_CDC - 允许暂停的 CDC 服务继续
  • TERMINATE - 停止 CDC 服务,一旦停止,将释放其资源
  • FORCE - 与 TERMINATE 相同,当持有资源的任务“挂起”时

由于 R4ZCTL 程序需要 APF 授权,STEPLIB 中的所有库都必须经过 APF 授权.

在不带参数的情况下运行 R4ZCTL 时,将根据环境是否已初始化 (CC=0) 或未初始化 (CC=1) 来设置其完成代码。

控制程序调用语法

R4ZCTL 程序作为作业步骤调用,即 EXEC PGM=R4ZCTL,并通过作业步骤的调用参数接受指令。

R4ZCTL 调用参数是一个字符串,可以包含可选的子参数,用逗号分隔,如下所示:

[SERVICE=CDC-service-qualifier,][MSGLVL={0 | 1},][action]

信息注释

字符串中子参数的顺序并不重要。

其中:

SERVICE=CDC-service-qualifier 指定 数据移动网关 活动的逻辑范围,控制程序将根据该活动范围进行操作。

MSGLVL={0 | 1 | 2} 指定在控制程序运行期间消息文件中显示的通知级别。

  • 0 = 无通知
  • 1 = 适度
  • 2 = 最大值

action-verb 可为以下之一:

  • PAUSE_TASK(*|ALL|task-qualifier)

    暂停括号中指定的任务的 CDC 检索。

  • PAUSE_CDC

    暂停整个 CDC 服务的 CDC 检索。暂停超过一定时间的 Replication 任务停止后,将多次尝试恢复。不会提供新任务。

  • RESUME_TASK(*|ALL|task-qualifier)

    task-qualifier 指定的任务恢复 CDC 检索。

  • RESUME_CDC

    恢复与 session-limits 限定符匹配的所有实例的 CDC 检索。

  • DUMP_TASK(*|ALL|task-qualifier)

    请求对驻留存储器结构中的控制信息进行格式化转储。ALL 指定所有会话;SUMMARYONLY 仅指定锚点。

  • TERMINATE

    释放所有 R4Z 驻留内存结构,终止所有活动实例并删除相关资源。从这一点开始,所有 CDC 请求都将返回非活动状态,直到 CDC 服务通过对 CDC 读取器 UDF 的传入调用自动激活。

语法元素参考

上述语法描述中使用的元素如下:

  • CDC-service-qualifier

    4 个字符的名称(第一个字符为字母,其余为字母数字),用于指定 CDC 服务。

    “CDC 服务”是指一组资源 - 内存结构、DB2 中定义的用户定义表函数 (UDTF) 和 WLM 策略中定义的应用程序环境 (APPLENV)。R4Z 允许您指定每个 CDC 服务的属性 - 内存限制和处理阈值. 出于另一个原因,可能需要管理几个 CDC 服务;即,允许在单个 LPAR 中使用多个 数据移动网关 版本,每个版本独立于其他版本维护其内存结构。

  • task-qualifier

    任务开始时分配的 4 位标识符。该标识符主要用于控制和跟踪特定任务的 CDC 流量。它形成为 CDC 服务的 DB2 线程的 CORRID(相互关系 ID)- 它占用了其中字节 9-12。

控制程序完成代码

  • 0 – 普通完成
  • 1 – 环境不退出 session-limits 限定符(当未指定 action 时)
  • 4 – 警告
  • 8 – 错误

示例作业(在 INSTALL 库中)

IV1CHECK – 检查所有 CDC 服务的配置

XMDUMP – 转储所有会话

XMPAUSE – 暂停会话

XMRESUME – 恢复会话

XMTERMIN – 终止所有会话

启用 CDC 流程(自动激活)

为了使 CDC 阅读器 UDTF 功能能够工作,该功能需要能够在调用 UDTF 时以及 z/OS 系统启动后第一次在 ECSA 中分配和预格式化内存结构;它还需要访问为 UDTF 正在服务的 CDC 服务设置的配置(或“默认”配置,用于未在 CDC 服务级别指定的值)。

为此,安装过程确保:

  1. 创建了一个特殊的 UDTF 来用于 CDC 服务。创建的 UDT F的名称以双下划线 (“__”) 为后缀,后跟 CDC-service-qualifier,形成如下名称:<schema>.R4Z_UDTF__<CDC-service-qualifier>
  2. 创建 WLM APPLENV 以执行上述 UDTF 的调用。创建的 APPLENV 的名称也可以用 CDC 服务限定符为后缀,以确保 APPLENV 名称的唯一性 - 建议这样做;然而,多个 UDTF 可以使用单个 APPLENV。
  3. 创建一个 JCL 程序来“托管”WLM APPLENV 执行。此 JCL 程序与通常的 WLM STC 程序不同,因为必须指定一个特殊的 DDNAME R4ZCNFG,其 DSN 引用 R4Z 产品的 CONFIG 库。在这个库中,必须有一个名为“CDCS”的现有成员,指定默认的 CDC 服务配置。还可能存在一个名为 “CDCS<CDC-service-qualifier>” 的成员,其中包含您要应用于此 CDC 服务的配置值。
  4. CONFIG 库中每个 CDCS* 成员的内容是一个分配语句列表,每个卡一个,格式为 “keyword=value”。语句可以跟在空格后面,并以空格结尾;语句中不允许有空格。以连字符 (‘-‘) 开头的卡片被视为评论卡片;并且终止空格之后的内容也被视为注释。

    关键字、最大值、最小值和默认值
    关键字 描述 最小值 最大值 默认

    MAXSESSIONS

    CDC 会话的最大数量。

    1

    128

    32

    SESSIONTIMEOUTSECS

    会话超时后的秒数。

    300

    7200

    900

    MAXIFIBUFKBYTES

    IFI 读取允许的最大缓冲区大小,以 KB 为单位。

    64

    1024

    256

    MAXRESULTSETMBYTES

    累积结果集要达到的最大大小 (MB);到达时,返回结果集。

    1

    2048

    4

    MAXRESULTSETSECS

    累积结果集的最大时间间隔(秒);到达时,返回结果集。

    1

    120

    30

    建立 R4Z CDC 服务

    就 CDC 服务决定: 根据预测独立复制过程的需要(允许不同版本、确保足够的 ECSA 内存、考虑允许的不同延迟等),确定每个 LPAR 中存在哪些 R4Z CDC 服务。对于每个服务,选择 CDC 服务限定符(4 个字符)。您还需要决定是每个 CDC 服务都有自己的 WLM APPLENV(应用程序环境),还是单个 APPLENV 来服务所有 CDC 服务。

    您需要将 DFSYMLST 成员中的变量 DEFWLMAE (DEFine WLM Applic. Env.) 设置为 PER(第一个选项)或 ONE(第二个选项)。设置完成后,可以继续安装:

    信息注释
    • 如果为 DEFWLMAE 选择 ONE,则作业 DO2* 和 DO3SRVTF 应运行一次;如果选择 PER,则应在 JCL SET 变量 CDCSRV 设置为 CDC 服务的限定符之后,为每个 CDC 服务运行这些作业。

    • 作业 DO3SRVDF 创建一个 CONFIG 库,并放置一个名为“CDCS”的成员,该成员用作默认配置文件。运行作业 DO3SRVTF 后,库将包含所有 CDC 服务的配置,从而可以编辑它们并更改特定 CDC 服务配置。

    • 如果 DEFWLMAE 使用 ONE,则使用产品默认值而不是 CONFIG 库成员。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!