

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Connect from Precisely 将 VSAM 文件迁移和复制到 Amazon RDS 或 Amazon MSK
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely"></a>

*Prachi Khanna 和 Boopathy GOPALSAMY，Amazon Web Services*

## Summary
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-summary"></a>

此模式向您展示了如何使用 [Connect](https://www.precisely.com/product/precisely-connect/connect) from Precisely 将虚拟存储访问方法 (VSAM) 文件从大型机迁移和复制到 Amazon Web Services Cloud 中的目标环境。此模式涵盖的目标环境包括 Amazon Relational Database Service (Amazon RDS) 和 Amazon Managed Streaming for Apache Kafka (Amazon MSK)。Connect 使用[更改数据捕获 (CDC)](https://www.precisely.com/resource-center/productsheets/change-data-capture-with-connect) 持续监控源 VSAM 文件的更新，然后将这些更新传输到您的一个或多个 AWS 目标环境。您可使用这种模式来实现应用程序现代化或数据分析目标。例如，您可使用 Connect 将您的 VSAM 应用程序文件以低延迟迁移到 Amazon Web Services Cloud，或者将 VSAM 数据迁移到 AWS 数据仓库或数据湖进行分析，以容限高于应用程序现代化所需同步延迟。

## 先决条件和限制
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-prereqs"></a>

**先决条件**
+ [IBM z/OS V2R1 或](https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosv2r1-pdf-download?OpenDocument)更高版本
+ [适用于 z/OS (CICS TS) V5.1 或更高版本的 CICS 事务服务器（CICS/V](https://www.ibm.com/support/pages/cics-transaction-server-zos-51-detailed-system-requirements) SAM 数据捕获）
+ [IBM MQ 8.0](https://www.ibm.com/support/pages/downloading-ibm-mq-80) 或更高版本
+ 符合 [z/OS 安全要求](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS)（例如，加载库的 APF 授权） SQData 
+ VSAM 恢复日志已开启
+ （可选）[CICS VSAM Recovery Version (CICS VR)](https://www.ibm.com/docs/en/cics-vr/5.1?topic=started-introducing-cics-vr) 用于自动捕获 CDC 日志
+ 一个有效的 Amazon Web Services account
+ 具有可由您的旧平台访问的子网的 [Amazon 虚拟私有云（VPC）](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html)
+ 来自 Precisely 的 VSAM Connect 许可证

**限制**
+ Connect 不支持基于源 VSAM 架构或副本自动创建目标表。您必须首次定义目标表的结构。
+ 对于非流媒体目标（例如 Amazon RDS），您必须在 Apply Engine 配置脚本中指定目标映射的转换源。
+ 记录、监控和警报功能通过外部组件（例如 Amazon）实现， APIs 并且需要外部组件（例如 Amazon CloudWatch）才能完全运行。

**产品版本**
+ SQData 40134 适用于 z/OS
+ SQData 4.0.43 适用于亚马逊弹性计算云（亚马逊）上的亚马逊 Linux 亚马逊系统映像 (AMI) EC2

## 架构
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-architecture"></a>

**源技术堆栈**
+ 作业控制语言 (JCL)
+ z/OS Unix Shell 和 Interactive System Productivity Facility (ISPF)
+ VSAM 实用程序 (IDCAMS)

**目标技术堆栈**
+ Amazon EC2
+ Amazon MSK
+ Amazon RDS
+ Amazon VPC

**目标架构**

*将 VSAM 文件迁移到 Amazon RDS*

下图显示了如何通过在源环境（本地大型[机）中使用 CDC agent/publisher 和在目标环境（AWS Cloud）中使用 Apply Engine，实时或近乎实时地将](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) VSAM 文件迁移到关系数据库，例如 Amazon RDS。

![](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/47cefbde-e0c8-4c36-ba48-cccc2c443074.png)


图表显示了以下批处理工作流：

1. Connect 通过比较备份文件中的 VSAM 文件来捕获文件更改以识别更改，然后将更改发送到日志流。

1. Publisher 使用系统日志流中的数据。

1. Publisher 通过 TCP/IP 将捕获的数据更改传达至目标引擎。控制器进程守护程序对源环境和目标环境之间的通信进行身份验证。

1. 目标环境中的 Apply Engine 从 Publisher 代理接收更改并将它们应用到关系或非关系数据库。

图表显示了以下在线工作流：

1. Connect 使用日志副本捕获联机文件更改，然后将捕获的更改流式传输到日志流。

1. Publisher 使用系统日志流中的数据。

1. Publisher 通过 TCP/IP 将捕获的数据更改传达至目标引擎。控制器进程守护程序对源环境和目标环境之间的通信进行身份验证。

1. 目标环境中的 Apply Engine 从 Publisher 代理接收更改，然后将它们应用到关系或非关系数据库。

*将 VSAM 文件迁移到 Amazon MSK*

下图显示了如何在高性能模式下将 VSAM 数据结构从大型机流式传输到 Amazon MSK，并自动生成与 Amazon MSK 集成的 JSON 或 AVRO 架构转换。

![](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/13eb27ad-c0d2-489b-91e1-5b2a729fb8dd.png)


图表显示了以下批处理工作流：

1. Connect 通过使用 CICS VR 或通过比较备份文件中的 VSAM 文件，以捕获和识别文件更改。捕获的更改将发送至日志流。

1. Publisher 使用系统日志流中的数据。

1. Publisher 通过 TCP/IP 将捕获的数据更改传达至目标引擎。控制器进程守护程序对源环境和目标环境之间的通信进行身份验证。

1. 在并行处理模式下运行的 Replicator Engine 将数据拆分为工作缓存单元。

1. Worker 线程从缓存中捕获数据。

1. 数据从 Worker 线程发布到 Amazon MSK 主题。

1. [用户使用连接器将来自亚马逊 MSK 的更改应用到目标，例如亚马逊 DynamoDB、亚马逊简单存储服务 (Amazon S3) S OpenSearch ervice 或亚马逊服务。](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

图表显示了以下在线工作流：

1. 在线文件中的更改是通过使用日志复制来捕获的。捕获的更改将传输到日志流。

1. Publisher 使用系统日志流中的数据。

1. Publisher 通过 TCP/IP 将捕获的数据更改传达至目标引擎。控制器进程守护程序对源环境和目标环境之间的通信进行身份验证。

1. 在并行处理模式下运行的 Replicator Engine 将数据拆分为工作缓存单元。

1. Worker 线程从缓存中捕获数据。

1. 数据从 Worker 线程发布到 Amazon MSK 主题。

1. [用户使用连接器将 Amazon MSK 中的更改应用于 DynamoDB、Ama OpenSearch zon S3 或服务等目标。](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

## 工具
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-tools"></a>
+ [Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) 是一项完全托管式服务，可帮助您构建并运行使用 Apache Kafka 来处理流数据的应用程序。
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可帮助您在 Amazon Web Services Cloud 中设置、操作和扩展关系数据库。

## 操作说明
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-epics"></a>

### 准备源环境（主机）
<a name="prepare-the-source-environment-mainframe"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 安装 Connect CDC 4.1。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员/管理员 | 
| 设置 zFS 目录。 | 要设置 zfS 目录，请按照 Preclist 文档中 [zfS 变量目录](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS/zFS-variable-directories)中的说明进行操作。控制器守护程序和 Capture/Publisher 代理配置存储在 z/OS UNIX 系统服务文件系统（称为 ZFS）中。控制器进程守护程序、Capture、Storage 和 Publisher 代理需要预定义 zFS 目录结构以存储少量文件。 | IBM 大型机开发人员/管理员 | 
| 配置 TCP/IP 端口。 | 要配置 TCP/IP 端口，请按照精确文档中 [TCP/IP 端口](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX/Prerequisites-for-UNIX/Security-authorization-requirements-for-UNIX/TCP/IP-ports)的说明进行操作。控制器守护程序需要源系统上的 TCP/IP 端口。这些端口由目标系统上的引擎引用（在那里处理捕获的更改数据）。 | IBM 大型机开发人员/管理员 | 
| 创建 z/OS 日志流。 | 要创建 [z/OS 日志流](https://www.ibm.com/docs/en/was/8.5.5?topic=SSEQTP_8.5.5/com.ibm.websphere.installation.zseries.doc/ae/cins_logstrm.html)，请按照 Precist 文档中[创建 z/OS 系统 LogStream](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) s 中的说明进行操作。Connect 使用日志流在迁移期间在源环境和目标环境之间捕获和流式传输数据。<br />有关创建的 JCL 示例 z/OS LogStream，请参阅 Precist 文档中的[创建 z/OS 系统 LogStreams](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA)。 | IBM 大型机开发人员 | 
|  IDs 为 ZFS 用户和已启动的任务进行识别和授权。 | 使用 RACF 授予对 OMVS zFS 文件系统的访问权限。有关 JCL 的示例，请参阅 Precist 文档 IDs中的[识别和授权 zfS 用户并启动任务](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-log-reader-capture/Prepare-environment/Identify-and-authorize-zFS-user-and-started-task-IDs?tocId=MrBXpFu~N0iAy~8VTrH0tQ)。 | IBM 大型机开发人员/管理员 | 
| 生成 z/OS 公钥/私钥和授权密钥文件。 | 运行 JCL，以生成密钥对。有关示例，请参阅此模式的*其他信息*部分中的*密钥对示例*。<br />有关说明，请参阅 Pre [clist 文档中的生成 z/OS 公钥和私钥以及授权](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Db2-z/OS/Prepare-the-environment/Generate-z/OS-public-and-private-keys-and-authorized-key-file?tocId=fceE77dWT8smZsSaE~FeMQ)密钥文件。 | IBM 大型机开发人员/管理员 | 
| 激活 CICS VSAM 日志复制并将其附加至日志流。 | 运行以下 JCL 脚本：<pre> //STEP1 EXEC PGM=IDCAMS<br /> //SYSPRINT DD SYSOUT=*<br /> //SYSIN DD *<br />   ALTER SQDATA.CICS.FILEA -<br />   LOGSTREAMID(SQDATA.VSAMCDC.LOG1) -<br />   LOGREPLICATE</pre> | IBM 大型机开发人员/管理员 | 
| 通过 FCT 激活 VSAM File Recovery 日志。 | 修改 File Control Table (FCT) 以反映以下参数更改：<pre> Configure FCT Parms<br />   CEDA ALT FILE(name) GROUP(groupname)<br />   DSNAME(data set name)<br />   RECOVERY(NONE|BACKOUTONLY|ALL)<br />   FWDRECOVLOG(NO|1–99)<br />   BACKUPTYPE(STATIC|DYNAMIC)<br />   RECOVERY PARAMETERS<br />   RECOVery : None | Backoutonly | All<br />   Fwdrecovlog : No | 1-99<br />   BAckuptype : Static | Dynamic</pre> | IBM 大型机开发人员/管理员 | 
| 为发布商代理设置 CDCz日志。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员/管理员 | 
| 激活控制器进程守护程序。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员/管理员 | 
| 激活 Publisher。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员/管理员 | 
| 激活日志流。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员/管理员 | 

### 准备目标环境 (AWS)
<a name="prepare-the-target-environment-aws"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 精确地安装在 EC2 实例上。 | 要在适用于亚马逊的亚马逊 Linux AMI 上安装 Precission 的 Connect EC2，请按照 Precist 文档中[在 UNIX 上安装 Connect CDC (SQData)](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX) 中的说明进行操作。 | 常规 AWS | 
| 打开 TCP/IP 端口。 | 要修改安全组以包含用于入站和出站访问的控制器进程守护程序端口，请按照 Precisely 文档中的 [TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Change-data-capture/Transient-storage-and-publishing/TCP/IP) 中的说明进行操作。 | 常规 AWS | 
| 创建文件目录。 | 要创建文件目录，请按照 Precisely 文档中的[准备目标应用环境](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-targets/Kafka/Prepare-target-apply-environment)中的说明进行操作。 | 常规 AWS | 
| 创建 Aply Engine 配置文件。 | 在 Apply Engine 的工作目录中创建 Apply Engine 配置文件。以下示例配置文件显示 Apache Kafka 作为目标：<pre>builtin.features=SASL_SCRAM<br />  security.protocol=SASL_SSL<br />  sasl.mechanism=SCRAM-SHA-512<br />  sasl.username=<br />  sasl.password=<br />  metadata.broker.list=</pre>有关更多信息，请参阅 Apache Kafka 文档中的[安全性](https://kafka.apache.org/documentation/#security)。 | 常规 AWS | 
| 为 Apply Engine 处理创建脚本。 | 为 Apply Engine 创建脚本以处理源数据并将源数据复制到目标。有关更多信息，请参阅 Precisely 文档中的[创建应用引擎脚本](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Create-an-apply-engine-script)。 | 常规 AWS | 
| 运行脚本。 | 使用 `SQDPARSE` 和 `SQDENG` 命令运行脚本。有关更多信息，请参阅 Precisely 文档中的[解析 zOS 脚本](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Parse-a-script/Parse-a-script-for-zOS)。 | 常规 AWS | 

### 验证环境
<a name="validate-the-environment"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 验证用于 CDC 处理的 VSAM 文件与目标列表。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | 常规 AWS、大型机 | 
| 验证 Connect CDC SQData 产品是否已链接。 | 运行测试作业并验证此作业的返回码是否为 0（成功）。Connect CDC SQData 应用引擎状态消息应显示活动连接消息。 | 常规 AWS、大型机 | 

### 运行并验证测试用例（批处理）
<a name="run-and-validate-test-cases-batch"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在大型机中运行批处理作业。 | 使用修改后的 JCL 运行批处理应用程序作业。在修改后的 JCL 中包括以下操作步骤：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | 常规 AWS、大型机 | 
| 检查日志流。 | 检查日志流，确认您可看到已完成的大型机批处理作业的更改数据。 | 常规 AWS、大型机 | 
| 验证源增量更改和目标表的计数。 | 要确认记录已计数，请执行以下操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | 常规 AWS、大型机 | 

### 运行和验证测试用例（在线）
<a name="run-and-validate-test-cases-online"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在 CICS 区域运行在线事务。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM 大型机开发人员 | 
| 检查日志流。 | 确认日志流中填充了特定记录级别更改。 | AWS 大型机开发人员 | 
| 验证目标数据库计数。 | 监视 Apply Engine 以获取记录级别计数。 | Precisely、Linux | 
| 验证目标数据库中的记录计数与数据记录。 | 查询目标数据库以验证记录计数与数据记录。 | 常规 AWS | 

## 相关资源
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-resources"></a>
+ [VSAM z/OS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/VSAM-z/OS)（Precisely 文档）
+ [Apply Engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine)（Precisely 文档）
+ [复制器引擎](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Replicator-engine)（Precisely 文档）
+ [日志流](https://www.ibm.com/docs/en/zos/2.3.0?topic=logger-log-stream)（IBM 文档）

## 附加信息
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-additional"></a>

**配置文件示例**

以下日志流的示例配置文件，其中源环境为大型机，目标环境是 Amazon MSK：

```
 
  -- JOBNAME -- PASS THE SUBSCRIBER NAME
  -- REPORT  progress report will be produced after "n" (number) of Source records processed.
  
  JOBNAME VSMTOKFK;
  --REPORT EVERY 100;
  -- Change Op has been ‘I’ for insert, ‘D’ for delete , and ‘R’ for Replace. For RDS it is 'U' for update
  -- Character Encoding on z/OS is Code Page 1047, on Linux and UNIX it is Code Page 819 and on Windows, Code Page 1252
  OPTIONS
  CDCOP('I', 'U', 'D'),
  PSEUDO NULL = NO,
  USE AVRO COMPATIBLE NAMES,
  APPLICATION ENCODING SCHEME = 1208;
  
  --       SOURCE DESCRIPTIONS
  
  BEGIN GROUP VSAM_SRC;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       TARGET DESCRIPTIONS
  
  BEGIN GROUP VSAM_TGT;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       SOURCE DATASTORE (IP & Publisher name)
  
  DATASTORE cdc://10.81.148.4:2626/vsmcdct/VSMTOKFK
  OF VSAMCDC
  AS CDCIN
  DESCRIBED BY GROUP VSAM_SRC ACCEPT ALL;
  
  --       TARGET DATASTORE(s) - Kafka and topic name
  
  DATASTORE 'kafka:///MSKTutorialTopic/key'
  OF JSON
  AS CDCOUT
  DESCRIBED BY GROUP VSAM_TGT FOR INSERT;
  
  --       MAIN SECTION
  
  PROCESS INTO
  CDCOUT
  SELECT
  {
  SETURL(CDCOUT, 'kafka:///MSKTutorialTopic/key')
  REMAP(CDCIN, account_file, GET_RAW_RECORD(CDCIN, AFTER), GET_RAW_RECORD(CDCIN, BEFORE))
  REPLICATE(CDCOUT, account_file)
  }
  FROM CDCIN;
```

**密钥对示例**

以下是关于如何运行 JCL 生成密钥对的示例：

```
//SQDUTIL EXEC PGM=SQDUTIL //SQDPUBL DD DSN=&USER..NACL.PUBLIC, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPKEY DD DSN=&USER..NACL.PRIVATE, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPARMS DD  keygen //SYSPRINT DD SYSOUT= //SYSOUT DD SYSOUT=* //SQDLOG DD SYSOUT=* //*SQDLOG8 DD DUMMY
```