1

想要在项目开始时将批量文件(例如 VSAM)从大型机迁移到 Azure,如何实现?
任何实用程序还是我们需要编写自己的脚本?

4

2 回答 2

2

我怀疑那里有一些实用程序,但我怀疑它们是大多数/所有定价的产品。由于 VSAM 数据集不是使用 DDL 之类的语言结构定义的,因此您可能需要完成大部分繁重的工作。编写自己的程序或自定义脚本。您没有提到操作系统,但我假设您正在使用 z/OS。

这里有一些要考虑的事情:

  • VSAM 数据集的结构基本上是面向记录的。您将在该主机应用程序数据中遇到三种基本类型:

    • 关键序列数据集 (KSDS)
    • 输入序列数据集 (ESDS)
    • 相对记录数据集 (RRDS)
  • 熟悉定义数据集的方法,因为它可以让您深入了解数据集的细节。 DFSMS 访问方法服务命令将显示用于创建它们的实用程序并获取密钥长度和密钥偏移等信息。 DEFINE CLUSTER是创建数据集的命令。您提到您正在将数据移动到 Azure,但这将帮助您了解正在移动的数据的特征。

  • 由于 VSAM 数据集没有 DDL,因此您通常会在操作它们的程序中找到结构,例如 COBOL Copybook、HLASM DSECT 和类似结构。这是给你的帐篷里的长杆。

  • 考虑访问数据的语义是什么。VSAM 作为一种访问方法确实具有使用DEFINE CLUSTER选项在宏级别上控制读/写访问的能力called SHAREOPTIONS。指示操作系统如何在SHAREOPTIONS读写方面处理 VSAM 缓冲区,以便多个进程可以访问相同的数据。与 NFS 等 sahred 文件系统相比,它是原始的。ENQVSAM 允许应用程序使用/DEQ函数来控制访问(或序列化) 。这些使应用程序能够在集群中表达有关 VSAM 文件的意图并协调它们自己的活动。

  • 您可能会发现将 VSAM 文件转换为像 Db2 这样的关系形式更适合您。同样,您必须创建 DDL 来描述表、数据格式等。

  • 另一个考虑因素是数据转换。您会发现 EBCDIC 中最有可能出现的字符数据需要转换为新的代码页。数字数据可以是压缩十进制、二进制,甚至是文本,并且需要进行转换。

简短的回答是没有“简单的按钮”来做你想做的事。考虑数据只是需要回答的问题之一。序列化和对数据的访问、代码页转换,如果您正在移动一些数据而不是其他数据,您需要能够将一些转换后的数据映射回大型机上的数据。

于 2021-01-01T15:58:08.960 回答
0

考虑探索 IBM CDC 经典复制。您可以通过单击按钮来实现它。

我还没有为 Azure 做过。所以不确定是否支持。

于 2021-01-25T12:02:56.857 回答