Migrating data sets

For migration purposes, data sets fall into three categories:

Each of these categories is described in the following sections.

EQQICTOP VSAM data set conversion program

Purpose

With the EQQICTOP conversion program, you can migrate VSAM data sets from earlier releases of Tivoli Workload Scheduler for z/OS. You can also use the program to reverse the procedure in case you need to fall back to your old system.

The EQQJOBS program creates JCL tailored to your installation specifications in the EQQICNVS and EQQICNVH members.

EQQICTOP is controlled by CONVERT statements in the SYSIN file. You can supply any number of these statements to EQQICTOP.

Syntax

Read syntax diagramSkip visual syntax diagram>>-CONVERT--FILE(-+-AD---+-)--FROMREL(-+-|TWSV8R2M0-+-)---------->
|                  +-CP---+             +-TWSV8R3M0-+
|                  +-CX---+             +-TWSV8R5M0-+
|                  +-HIST-+             +-TWSV8R5M1-+
|                  +-JS---+             '-|TWSV8R6M0-'
|                  +-LT---+
|                  +-OI---+
|                  +-RD---+
|                  +-SI---+
|                  '-WS---'
| 
|>--TOREL(-+-|TWSV8R2M0-+-)--------------------------------------><
|          +-TWSV8R3M0-+
|          +-TWSV8R5M0-+
|          +-TWSV8R5M1-+
|          '-|TWSV8R6M0-'
| 
||||

Parameters

FILE(file identifier)
Defines the data set to be converted. You can specify one of the following file identifiers on each CONVERT statement:
AD
Application descriptions and JCL variable tables
CP
The current plans, EQQCPnDS and EQQNCPDS
CX
The current plan extension, EQQCXDS and EQQNCXDS
HIST
DB2® operation history data from one release to another
JS
JCL repository and retrieved job logs
LT
Long-term plan
OI
Operator instructions
RD
Special resource definitions
SI
Side information file, ETT criteria and configuration information
WS
Workstation descriptions, calendars, and periods

Your conversion JCL should contain DD names EQQxxIN and EQQxxOUT for each data set that you want to convert, where xx is the file identifier.

FROMREL(product identifier)
Defines the product and release level of the input data set. You can specify one of the following:
|TWSV8R2M0
|Tivoli Workload Scheduler for z/OS Version 8 Release 2
TWSV8R3M0
Tivoli Workload Scheduler for z/OS Version 8 Release 3
TWSV8R5M0
Tivoli Workload Scheduler for z/OS Version 8 Release 5
TWSV8R5M1
Tivoli Workload Scheduler for z/OS Version 8 Release 5 Modification Level 1
|TWSV8R6M0
|Tivoli Workload Scheduler for z/OS Version 8 Release 6
TOREL(product identifier)
Defines the product and release level of the output data set. You can specify one of the following:
|TWSV8R2M0
|Tivoli Workload Scheduler for z/OS for z/OS® version |8 Release 2
TWSV8R3M0
Tivoli Workload Scheduler for z/OS Version 8 Release 3
TWSV8R5M0
Tivoli Workload Scheduler for z/OS Version 8 Release 5
TWSV8R5M1
Tivoli Workload Scheduler for z/OS Version 8 Release 5 Modification Level 1
|TWSV8R6M0
|Tivoli Workload Scheduler for z/OS Version 8 Release 6
Notes:
  1. Conversion stops if there is a VSAM I/O error on one of the files. One such error is a duplicate key on the output file. This can occur if the output data set is not empty.
  2. Migrate the currently active JCL-repository data set. You can check whether the primary or alternate data set is in use by selecting option 6 in the Query Current Plan dialog. Do this when no work is running and before you stop the controller.
  3. You can use one of two methods to convert the current plan:
    • If no error occurred when you stopped your production system, both primary and alternate current plans are the same. Use EQQCP1DS as input to the conversion program.
    • If the last action performed on your production system was to extend or replan the current plan, use the new-current-plan data set that was created on this system as input to the conversion program. This is the preferred method as it ensures you will not lose any job-tracking records, this is relevant if you use the track log (EQQTROUT) as an audit trail.
    In both cases, the output file must be the new-current-plan data set (EQQNCPDS) on your Tivoli Workload Scheduler for z/OS system.

    You can convert the current plan extension data set using the same methods.

  4. In addition to input and output DD names for each VSAM file, the migration JCL should also contain the EQQMLOG and EQQMLIB DD names. EQQMLOG is an output file for messages. EQQMLIB is an input file that contains the product message library.
Example
|//OPCMIG JOB (777777,777),'Migrate to Tivoli Workload Scheduler for z/OS V8R6M0, MSGLEVEL=(1,1),
|//     NOTIFY=&SYSUID,MSGCLASS=H,CLASS=A
|//*
|//CONVERT  EXEC PGM=EQQICTOP,REGION=2048K
|//STEPLIB   DD  DISP=SHR,DSN=OPC.INST.LOADLIB
|//EQQMLIB   DD  DISP=SHR,DSN=OPC.INST.SEQQMSG0
|//EQQMLOG   DD  SYSOUT=*
|//EQQADIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.AD
|//EQQADOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.AD
|//EQQWSIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.WS
|//EQQWSOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.WS
|//EQQCPIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.NCP
|//EQQCPOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.NCP
|//EQQCXIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.NCX
|//EQQCXOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.NCX
|//EQQLTIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.LT
|//EQQLTOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.LT
|//EQQJSIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.JS1
|//EQQJSOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.JS1
|//EQQOIIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.OI
|//EQQOIOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.OI
|//EQQSIIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.SI
|//EQQSIOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.SI
|//EQQRDIN   DD  DISP=SHR,DSN=CCOPC.OPCC.OLD.RD
|//EQQRDOUT  DD  DISP=OLD,DSN=CCOPC.OPCC.RD
|//SYSIN     DD  *
|  /* MIGRATION FROM Tivoli Workload Scheduler for z/OS V8.5.1 to */
|  /* Tivoli Workload Scheduler for z/OS V8.6.0 IS ASSUMED */
|  CONVERT FILE(AD) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(CP) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(CX) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(WS) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(LT) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(JS) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(OI) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(RD) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)
|  CONVERT FILE(SI) FROMREL(TWSV8R5M1) TOREL(TWSV8R6M0)

In this example, all VSAM files are converted from a previous release to Tivoli Workload Scheduler for z/OS format. The tasks performed immediately before this job was submitted are listed here in order:

  1. Verified JS1 as the active JCL repository in option 6.6 on the previous controller. If JS2 is the active JCL repository, use that as input but be sure to use JS1 as output because Tivoli Workload Scheduler for z/OS by default uses JS1 as the active JCL repository when you start a subsystem with an empty checkpoint data set.
  2. The previous controller was shut down normally, as verified in the message log. Check that a current plan backup process was completed after the stop command was received by the subsystem.
  3. A batch job was submitted to allocate and back up the previous data sets to new DSNs.
  4. EQQPCS01 from Tivoli Workload Scheduler for z/OS EQQJOBS was submitted to allocate the VSAM clusters required for Tivoli Workload Scheduler for z/OS.
  5. The old NCP is used as input if a daily plan batch process was submitted on the previous system prior to shutdown. Output is the Tivoli Workload Scheduler for z/OS NCP.

Data sets that you need to convert

Allocate new VSAM data sets for Tivoli Workload Scheduler for z/OS. Existing data can then be migrated using EQQICTOP. Keep a copy of the old data sets for backup and fallback purposes. The following data sets must be migrated to Tivoli Workload Scheduler for z/OS format:

Table 33. Data sets that you need to convert
DD Name Description
EQQADDS Application descriptions and JCL variable tables
EQQJSnDS JCL repository (currently active)
EQQLTDS Long-term plan
EQQNCPDS, or EQQCPnDS The current plan, but use the NCP as input if a daily plan process created an NCP after the old system was shut down.
EQQNCXDS, or EQQCXnDS The current plan extension, but use the NCX as input if a daily plan process created an NCX after the old system was shut down.
EQQOIDS Operator instructions
EQQRDDS Special resource definitions
EQQSIDS Side information, ETT criteria and configuration information
EQQWSDS Workstation descriptions, calendars, and periods

Data sets that can be used

Tivoli Workload Scheduler for z/OS can use unchanged data from the following data sets:

Table 34. Data sets that Tivoli Workload Scheduler for z/OS can use
DD Name Description
EQQEVLIB Configuration file repository for event-triggered resource handling
EQQINCWK JCC incident work file
EQQJBLIB1 JCL library
EQQJCLIB Job-completion-checker (JCC) message-table library
EQQJTABL Job table log file
EQQPRLIB Automatic-recovery-procedure library
EQQSCLIB Script library for end-to-end scheduling with fault tolerance capabilities
JCC incident log
1 If this library contains jobs for the scheduler planning, the JCL must be modified to reflect the new installation.

Empty data sets

When you have completed your testing of Tivoli Workload Scheduler for z/OS and have performed data set migration, ensure that the following data sets are empty before you start the product for the first time in production:

EQQCKPT
Checkpoint
EQQCXDS
Current plan extension
EQQDLnn
Dual job-tracking logs
EQQEVDS
Event data sets
EQQHTTP0
Event data set for end-to-end scheduling with z-centric capabilities
EQQJTARC
Job-tracking archive
EQQJTnn
Job-tracking logs
EQQMLOG
Message log
EQQMONDS
Monitoring Task Data Set
EQQSCPDS
Secondary Current Plan Data Set
EQQSTC
Started-task submit
EQQSUDS
Submit release
EQQTROUT
Job-tracking log copy created by the daily planning jobs. Input to the EQQAUDIT program, that is not downward compatible
EQQTWSIN
Input event data set for end-to-end scheduling with fault tolerance capabilities
EQQTWSOU
Output event data set for end-to-end scheduling with fault tolerance capabilities
EQQTWSCS
Centralized script work repository

EQQCPnDS , EQQCXDS, and EQQSCPDS do not have to be empty, but they can be. When the product is started for the first time, you must specify CURRPLAN(NEW) on the JTOPTS statement. Therefore, any data in the EQQCPnDS and EQQCXDS data sets will immediately be replaced by the contents of EQQNCPDS and EQQNCXDS. Similarly, the inactive EQQJSnDS data set (EQQJS2DS in this example) does not have to be empty, although it can be.

Tracker and Data Store considerations

When you migrate a tracker, it is not necessary for EQQEVDS and EQQSUDS to be empty. The migration enables you to use the subsystem with the new release and modifies the JCL trackers to point to the libraries used, for example EQQMLIB or STEPLIB.

When you migrate a Data Store, consider that:

The data store and controller tasks might be migrated at different times, provided that the maintenance level of the old and new release of Tivoli Workload Scheduler for z/OS is the same. This means that you should apply any PTF which affects both controller and data store code to both releases of the product. If this level of concurrent PTF maintenance cannot be maintained, it is best to keep the data store and controller on the same release of Tivoli Workload Scheduler for z/OS. If the migration is successfully performed, you should be able to use the Restart and Cleanup function on the new release for any operation which was on the error list on the old release of Tivoli Workload Scheduler for z/OS

If you change a datastore connection type and you want to reflect the naming convention in the FLOPTS destination name, keep the former destination name in the FLOPTS parameter that corresponds to the connection type to be used (SNADEST, XCFDEST, or TCPDEST ). For example, suppose that you change the datastore connection from SNA to XCF and the former FLOPTS is SNADEST(OPCTRK1.DST). If you want to use XCFTRK1.DST as new destination name, specify the following FLOPTS parameter: XCFDEST(OPCTRK1.DST, XCFTRK1.DST). Omitting the former destination produces the messages EQQFL18E and EQQM643W in the controller message log, when retrieving any joblog stored with the former destination name.