1

Want to migrate bulk files (e.g VSAM) from Mainframe to Azure in the beginning of the Project, how that can be achieved ?
Any utility or do we need to write own scripts?

R0106
  • 33
  • 5

2 Answers2

2

I suspect there are some utilities out there but I suspect they are most / all priced products. Since VSAM datasets are not defined using a language construct like DDL you will likely have to do most of the heavy lifting. Either writing your own programs or custom scripts. You didn’t mention operating system but I assume you’re working on z/OS.

Here are some things to consider:

  • The structure of the VSAM dataset is basically record oriented. There are three basic types you’ll run into that host application data:

    • Key Sequenced Datasets (KSDS)
    • Entry Sequenced Datasets (ESDS)
    • Relative Record datasets (RRDS)
  • Familiarize yourself with the means of defining the datasets as it will give you some insight into the dataset specifics. DFSMS Access Method Services Commands will show the utilities used to create them and get information like Keylength and offest of the key. DEFINE CLUSTER is the command to create the dataset. You mentioned you are moving the data toi Azure but this will help you understand the characteristics of the data you are moving.

  • Since there is no DDL for VSAM datasets you will generally find the structure in the programs that manipulate them like COBOL Copybooks, HLASM DSECTs and similar constructs. This is the long pole in the tent for you.

  • Consider what are the semantics of accessing the data. VSAM as an access method does have some ability to control read/write access on a macro level using a DEFINE CLUSTER option called SHAREOPTIONS. The SHAREOPTIONS instruct the operating system how to handle the VSAM buffers in terms of reading and writing so that multiple processes can access the same data. Its primitive if compared to sahred files systems like NFS. VSAM allows the application to control access (or serialization) using ENQ / DEQ functions. These enable applications to express intent in the cluster about a VSAM file and coordinate their own activities.

  • You might find that converting a VSAM file to a relational form like Db2 is better for you. Again, you’ll have to create the DDL to describe the tables, data formats and the like.

  • Another consideration is data conversion. You’ll find there is character data that is most likely in EBCDIC and needs to be converted to a new code page. Numeric data can be in Packed Decimal, Binary, or even text and will need to be converted.

The short answer is there isn’t an “Easy Button” to do what you want. Consider the data is only one of the questions that needs to be answered. Serialization and access to the data, codepage conversion, if you are moving some data but not others will you need to be able to map some of the converted data back to data on the mainframe.

Hogstrom
  • 3,581
  • 2
  • 9
  • 25
  • Thanks. What can be best approach here - – R0106 Jan 05 '21 at 06:54
  • 1) Get Data from Mainframe and put it on Azure using Azure Data Factory. 2) Multiple notebooks in data bricks and orchestrate through Azure Data factory. – R0106 Jan 05 '21 at 06:57
  • Azure Data Factory does copy from DB2 to Azure, does it copy files from Mainframe z/OS to Azure ? – R0106 Jan 05 '21 at 07:53
0

Consider exploring IBM CDC classic replication. You can achieve it with click of buttons.

I have not done for Azure. So not sure about support.