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