【发布时间】:2021-04-08 05:56:55
【问题描述】:
想要在项目开始时将批量文件(例如 VSAM)从大型机迁移到 Azure,如何实现?
任何实用程序还是我们需要编写自己的脚本?
【问题讨论】:
标签: azure-storage mainframe azure-migrate
想要在项目开始时将批量文件(例如 VSAM)从大型机迁移到 Azure,如何实现?
任何实用程序还是我们需要编写自己的脚本?
【问题讨论】:
标签: azure-storage mainframe azure-migrate
我怀疑那里有一些实用程序,但我怀疑它们是大多数/所有定价的产品。由于 VSAM 数据集不是使用 DDL 之类的语言结构定义的,因此您可能必须完成大部分繁重的工作。编写自己的程序或自定义脚本。您没有提到操作系统,但我假设您正在使用 z/OS。
以下是一些需要考虑的事项:
VSAM 数据集的结构基本上是面向记录的。您将遇到三种基本类型的主机应用程序数据:
熟悉定义数据集的方法,因为它可以让您深入了解数据集的细节。 DFSMS Access Method Services Commands 将显示用于创建它们的实用程序并获取诸如密钥长度和密钥偏移量之类的信息。 DEFINE CLUSTER 是创建数据集的命令。您提到您正在将数据移动到 Azure,但这将帮助您了解所移动数据的特征。
由于 VSAM 数据集没有 DDL,因此您通常会在操作它们的程序中找到结构,例如 COBOL Copybook、HLASM DSECT 和类似结构。这是给你的帐篷里的长杆。
考虑访问数据的语义是什么。 VSAM 作为一种访问方法确实具有使用DEFINE CLUSTER 选项called SHAREOPTIONS 在宏级别上控制读/写访问的能力。 SHAREOPTIONS 指示操作系统如何在读取和写入方面处理 VSAM 缓冲区,以便多个进程可以访问相同的数据。与 NFS 等 sahred 文件系统相比,它是原始的。 VSAM 允许应用程序使用ENQ / DEQ 函数控制访问(或序列化)。这些使应用程序能够在集群中表达有关 VSAM 文件的意图并协调它们自己的活动。
您可能会发现将 VSAM 文件转换为像 Db2 这样的关系格式更适合您。同样,您必须创建 DDL 来描述表、数据格式等。
另一个考虑因素是数据转换。您会发现 EBCDIC 中最有可能出现的字符数据需要转换为新的代码页。数字数据可以是压缩十进制、二进制,甚至是文本,需要进行转换。
简短的回答是没有“简单的按钮”来做你想做的事。考虑到数据只是需要回答的问题之一。序列化和数据访问、代码页转换,如果您要移动一些数据而不是其他数据,您需要能够将一些转换后的数据映射回大型机上的数据。
【讨论】:
考虑探索 IBM CDC 经典复制。您可以通过单击按钮来实现它。
我还没有为 Azure 做过。所以不确定是否支持。
【讨论】: