Rollback to the state prior to a level upgrade or a revision upgrade (Ver.8)
Returning HULFT operating environment and operating system environment to the state they were before you modified them during a migration, such as a level upgrade or a revision upgrade, is called "rollback."
Carry out a rollback only if a problem occurred during the migration of HULFT.
Rollback is carried out by using the files and environment backups that you created prior to migration. Therefore, this process assumes that the backups were created successfully.
For details about creation of backups for HULFT, refer to Backup.
When you restore backups of files created before migration, the following settings of HULFT are restored:
-
Custom character table
-
EBCDIC user table
-
System Environment Settings
-
Product key and serial number
-
Observe Definition file
-
XRSYSIN definition cards added to JCL
-
XRHOST or XRLOG2 definitions
This section explains how to return HULFT to the state it was prior to migration of HULFT (Ver.8), such as a level upgrade or a revision upgrade.
(1) Rollback of the HULFT system files
Roll back the following HULFT Ver.8 system files that you backed up prior to migration:
-
HULFT JCL library (PO)
-
HULFT load module library (PO)
-
HULFT ISPF panel library (PO)
-
HULFT ISPF message library (PO)
-
HULFT parameter library (PO)
-
Send and Receive Management file (VSAM)
-
Host Information file (VSAM)
-
Send and Receive Log file (VSAM)
-
IP management file (PS)
-
PORT management file (PS)
The JCL for rollback is displayed below. Modify the content of the JCL example to suit your environment and carry out the rollback.
[Example of JCL for rollback]
//ROLLBACK JOB CLASS=A,MSGCLASS=B //*------< LIBRARY RESTORATION >----------------------- //DELETE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE HULFT.JCL NONVSAM DELETE HULFT.LOAD NONVSAM DELETE HULFT.PANEL NONVSAM DELETE HULFT.MSG NONVSAM DELETE HULFT.PARMLIB NONVSAM DELETE HULFT.HOSTS.LOCAL NONVSAM DELETE HULFT.PROFILE.TCPIP NONVSAM //* //JCL EXEC PGM=IEBCOPY //IN DD DSN=HULFT.JCL.BKUP,DISP=SHR //OUT DD DSN=HULFT.JCL,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001, // SPACE=(CYL,(1,1,100)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY OUTDD=OUT,INDD=IN //* //LOAD EXEC PGM=IEBCOPY //IN DD DSN=HULFT.LOAD.BKUP,DISP=SHR //OUT DD DSN=HULFT.LOAD,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001, // SPACE=(CYL,(35,20,100)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY OUTDD=OUT,INDD=IN //* //PANEL EXEC PGM=IEBCOPY //IN DD DSN=HULFT.PANEL.BKUP,DISP=SHR //OUT DD DSN=HULFT.PANEL,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001, // SPACE=(CYL,(3,,50)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY OUTDD=OUT,INDD=IN //* //MSG EXEC PGM=IEBCOPY //IN DD DSN=HULFT.MSG.BKUP,DISP=SHR //OUT DD DSN=HULFT.MSG,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001, // SPACE=(CYL,(3,,50)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY OUTDD=OUT,INDD=IN //* //PARM EXEC PGM=IEBCOPY //IN DD DSN=HULFT.PARMLIB.BKUP,DISP=SHR //OUT DD DSN=HULFT.PARMLIB,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001, // SPACE=(CYL,(1,1,10)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(5)) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY OUTDD=OUT,INDD=IN //* //IP EXEC PGM=IEBGENER //SYSUT1 DD DSN=HULFT.HOSTS.LOCAL.BKUP,DISP=SHR //SYSUT2 DD DSN=HULFT.HOSTS.LOCAL,DISP=(NEW,CATLG), // UNIT=SYSDA,VOL=SER=HUL001,SPACE=(CYL,(1,1)) //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //* //PORT EXEC PGM=IEBGENER //SYSUT1 DD DSN=HULFT.PROFILE.TCPIP.BKUP,DISP=SHR //SYSUT2 DD DSN=HULFT.PROFILE.TCPIP,UNIT=SYSDA, // DISP=(NEW,CATLG),VOL=SER=HUL001, // SPACE=(CYL,(1,1)) //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //* //*------< VSAM DEFINE CLUSTER >----------------------- //DEFCLSTR EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE HULFT.LOG DELETE HULFT.LOG.PATH1 DELETE HULFT.LOG.PATH2 DELETE HULFT.FILE DELETE HULFT.HOST DELETE HULFT.QUEUE DELETE HULFT.SYSCNTL DEFINE CLUSTER - (NAME(HULFT.LOG) - INDEXED - REUSE) - DATA - (NAME(HULFT.LOG.DATA) - KEYS(59 0) - VOLUMES(HUL001) - CYLINDERS(5 1) - SHAREOPTIONS(4 3) - RECORDSIZE(3600 3600) - CONTROLINTERVALSIZE(18432)) - INDEX - (NAME(HULFT.LOG.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) DEFINE CLUSTER - (NAME(HULFT.LOG.PATH1) - INDEXED - REUSE) - DATA - (NAME(HULFT.LOG.PATH1.DATA) - KEYS(59 59) - VOLUMES(HUL001) - CYLINDERS(5 1) - SHAREOPTIONS(4 3) - RECORDSIZE(3600 3600) - CONTROLINTERVALSIZE(18432)) - INDEX - (NAME(HULFT.LOG.PATH1.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) DEFINE CLUSTER - (NAME(HULFT.LOG.PATH2) - INDEXED - REUSE) - DATA - (NAME(HULFT.LOG.PATH2.DATA) - KEYS(9 118) - VOLUMES(HUL001) - CYLINDERS(5 1) - SHAREOPTIONS(4 3) - RECORDSIZE(3600 3600) - CONTROLINTERVALSIZE(18432)) - INDEX - (NAME(HULFT.LOG.PATH2.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) DEFINE CLUSTER - (NAME(HULFT.FILE) - INDEXED) - DATA - (NAME(HULFT.FILE.DATA) - KEYS(54 0) - SHAREOPTIONS(4 3) - VOLUMES(HUL001) - CYLINDERS(1 1) - RECORDSIZE(610 22300)) - INDEX - (NAME(HULFT.FILE.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) DEFINE CLUSTER - (NAME(HULFT.HOST) - INDEXED) - DATA - (NAME(HULFT.HOST.DATA) - KEYS(51 0) - SHAREOPTIONS(4 3) - VOLUMES(HUL001) - CYLINDERS(1 1) - RECORDSIZE(500 500)) - INDEX - (NAME(HULFT.HOST.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) DEFINE CLUSTER - (NAME(HULFT.QUEUE) - INDEXED) - DATA - (NAME(HULFT.QUEUE.DATA) - KEYS(61 0) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3) - RECORDSIZE(6000 6000) - CONTROLINTERVALSIZE(18432)) - INDEX - (NAME(HULFT.QUEUE.IDX) - VOLUMES(HUL001) - CYLINDERS(1 1) - SHAREOPTIONS(4 3)) //* //*------< VSAM REPRO >------------------------------- //LOG EXEC PGM=IDCAMS //U01 DD DSN=HULFT.LOG.BKUP,DISP=OLD //U11 DD DSN=HULFT.LOG,DISP=OLD //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(U01) OUTFILE(U11) //* //LOG1SORT EXEC PGM=SORT //SORTIN DD DSN=HULFT.LOG.BKUP,DISP=OLD //SORTOUT DD DSN=&&LOG1,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(CYL,(45,15),RLSE) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(10,5)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(10,5)) //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(64,59,CH,A),EQUALS //* //LOG1 EXEC PGM=IDCAMS //U01 DD DSN=&&LOG1,DISP=OLD //U11 DD DSN=HULFT.LOG.PATH1,DISP=OLD //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(U01) OUTFILE(U11) //* //LOG2SORT EXEC PGM=SORT //SORTIN DD DSN=HULFT.LOG.BKUP,DISP=OLD //SORTOUT DD DSN=&&LOG2,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(CYL,(45,15),RLSE) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(10,5)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(10,5)) //SYSOUT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(123,9,CH,A),EQUALS //* //LOG2 EXEC PGM=IDCAMS //U01 DD DSN=&&LOG2,DISP=OLD //U11 DD DSN=HULFT.LOG.PATH2,DISP=OLD //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(U01) OUTFILE(U11) //* //FILE EXEC PGM=IDCAMS //U01 DD DSN=HULFT.FILE.BKUP,DISP=OLD //U11 DD DSN=HULFT.FILE,DISP=OLD //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(U01) OUTFILE(U11) //* //HOST EXEC PGM=IDCAMS //U01 DD DSN=HULFT.HOST.BKUP,DISP=OLD //U11 DD DSN=HULFT.HOST,DISP=OLD //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(U01) OUTFILE(U11) //
DD Name |
Value |
Description |
---|---|---|
IN |
HULFT.JCL.BKUP |
HULFT JCL library (backup file) |
OUT |
HULFT.JCL |
HULFT JCL library |
IN |
HULFT.LOAD.BKUP |
HULFT load module library (backup file) |
OUT |
HULFT.LOAD |
HULFT load module library |
IN |
HULFT.PANEL.BKUP |
HULFT ISPF panel library (backup file) |
OUT |
HULFT.PANEL |
HULFT ISPF panel library |
IN |
HULFT.MSG.BKUP |
HULFT ISPF message library (backup file) |
OUT |
HULFT.MSG |
HULFT ISPF message library |
IN |
HULFT.PARMLIB.BKUP |
HULFT parameter library (backup file) |
OUT |
HULFT.PARMLIB |
HULFT parameter library |
SYSUT1 |
HULFT.HOSTS.LOCAL.BKUP |
IP Management File (backup file) |
SYSUT2 |
HULFT.HOSTS.LOCAL |
IP Management File |
SYSUT1 |
HULFT.PROFILE.TCPIP.BKUP |
PORT Management File (backup file) |
SYSUT2 |
HULFT.PROFILE.TCPIP |
PORT Management File |
U01 |
HULFT.LOG.BKUP |
Send and Receive Log file ID Key file (backup file) |
U11 |
HULFT.LOG |
Send and Receive Log File |
U11 |
HULFT.LOG.PATH1 |
Send and Receive Log file Host Name Key file |
U11 |
HULFT.LOG.PATH2 |
Send and Receive Log file Date Key file |
U01 |
HULFT.FILE.BKUP |
Send and Receive Management File (backup file) |
U11 |
HULFT.FILE |
Send and Receive Management file |
U01 |
HULFT.HOST.BKUP |
Host Information File (backup file) |
U11 |
HULFT.HOST |
Host Information file |
Parameter Name |
Value |
Description |
---|---|---|
VOLUMES |
HUL001 |
Volume Name |
CYLINDERS |
(*1) |
Capacity |
NAME |
HULFT.FILE |
Send and Receive Management file |
NAME |
HULFT.FILE.DATA |
Names of entries for data component of Send and Receive Management File |
NAME |
HULFT.FILE.IDX |
Names of entries for index component of Send and Receive Management File |
NAME |
HULFT.HOST |
Host Information File |
NAME |
HULFT.HOST.DATA |
Names of entries for data component of Host Information File |
NAME |
HULFT.HOST.IDX |
Names of entries for index component of Host Information File |
NAME |
HULFT.QUEUE |
Send Control File |
NAME |
HULFT.QUEUE.DATA |
Names of entries for data component of Send Control File |
NAME |
HULFT.QUEUE.IDX |
Names of entries for index component of Send Control File |
NAME |
HULFT.LOG |
Send and Receive Log File ID Key File |
NAME |
HULFT.LOG.DATA |
Names of entries for data component of Send and Receive Log File ID Key File |
NAME |
HULFT.LOG.IDX |
Names of entries for index component of Send and Receive Log File ID Key File |
NAME |
HULFT.LOG.PATH1 |
Send and Receive Log Host Name Key File |
NAME |
HULFT.LOG.PATH1.DATA |
Names of entries for data component of Send and Receive Log Host Name Key File |
NAME |
HULFT.LOG.PATH1.IDX |
Names of entries for index component of Send and Receive Log Host Name Key File |
NAME |
HULFT.LOG.PATH2 |
Send and Receive Log Date Key File |
NAME |
HULFT.LOG.PATH2.DATA |
Names of entries for data component of Send and Receive Log Date Key File |
NAME |
HULFT.LOG.PATH2.IDX |
Names of entries for index component of Send and Receive Log Date Key File |
UNIT |
SYSDA |
UNIT |
VOL=SER |
HUL001 |
Volume Name |
*1 |
: |
(1ST Extent Secondary) |
-
Modify the content of the JCL for rollback (the library name, DD name, capacity, and so on) to suit your environment. We recommend that you set the same value for the capacity as the value that was set when the environment prior to the migration was installed.
-
For HULFT.LOG.PATH1, use the host name of HULFT.LOG.BKUP as the sorting key and restore it.
-
For HULFT.LOG.PATH2, use the date of HULFT.LOG.BKUP as the sorting key and restore it.
(2) Rollback of the operating system environment
If you have modified the following operating system environment settings, manually return HULFT to the state it was prior to a version upgrade by using the data and information you backed up.
-
Definition in the APF-authorized Library
-
Modification of procedures that start the HULFT Management Console
-
Definition of OMVS segment
-
Registration of user ID and password in RACF