# バージョンアップ前（Ver.8）の状態へのロールバック

バージョンアップなどの移行作業で変更したHULFTの動作環境やOS環境を、移行前の状態に戻すことをロールバックといいます。

ロールバックは、HULFTの移行作業で何らかの問題が発生した場合のみ行ってください。

ロールバックは、移行前にバックアップしたファイルや環境を使用して実施します。そのため、移行前の状態が正しくバックアップされていることが前提となります。

HULFTのバックアップについては、「バックアップ」を参照してください。

移行前にバックアップしたファイルを復元すると、以下のHULFTの設定も復元されます。

- 外字テーブル

- EBCDICユーザーテーブル

- システム動作環境設定

- プロダクトキー、シリアル番号

- 要求受付定義ファイル

- JCLへ追加したXRSYSIN定義カード

- XRHOSTまたはXRLOG2の定義

ここでは、バージョンアップを行った後で、HULFT移行前（HULFT Ver.８）の状態に戻す手順について説明します。

## HULFTのシステムファイルのロールバック

移行前にバックアップした以下のHULFT Ver.8のシステムファイルをロールバックします。

- HULFT JCLライブラリー（PO）

- HULFT ロードモジュールライブラリー（PO）

- HULFT ISPFパネルライブラリー（PO）

- HULFT ISPFメッセージライブラリー（PO）

- HULFTパラメーターライブラリー（PO）

- 集配信管理ファイル（VSAM）

- 詳細ホスト情報ファイル（VSAM）

- 集配信履歴ファイル（VSAM）

- IP管理ファイル（PS）

- PORT管理ファイル（PS）

以下に、ロールバック用のJCLを示しますので、お客様の運用にあわせてJCLの例の内容を修正し、ロールバックを実行してください。

［ロールバックJCL例］

    //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名 | 項目名 | 説明
--- | --- | ---
IN | HULFT.JCL.BKUP | HULFT JCLライブラリー（バックアップファイル）
OUT | HULFT.JCL | HULFT JCLライブラリー
IN | HULFT.LOAD.BKUP | HULFTロードモジュールライブラリー（バックアップファイル）
OUT | HULFT.LOAD | HULFTロードモジュールライブラリー
IN | HULFT.PANEL.BKUP | HULFT ISPFパネルライブラリー（バックアップファイル）
OUT | HULFT.PANEL | HULFT ISPFパネルライブラリー
IN | HULFT.MSG.BKUP | HULFT ISPFメッセージライブラリー（バックアップファイル）
OUT | HULFT.MSG | HULFT ISPFメッセージライブラリー
IN | HULFT.PARMLIB.BKUP | HULFTパラメーターライブラリー（バックアップファイル）
OUT | HULFT.PARMLIB | HULFTパラメーターライブラリー
SYSUT1 | HULFT.HOSTS.LOCAL.BKUP | IP管理ファイル（バックアップファイル）
SYSUT2 | HULFT.HOSTS.LOCAL | IP管理ファイル
SYSUT1 | HULFT.PROFILE.TCPIP.BKUP | PORT管理ファイル（バックアップファイル）
SYSUT2 | HULFT.PROFILE.TCPIP | PORT管理ファイル
U01 | HULFT.LOG.BKUP | 集配信履歴ファイルIDキーファイル（バックアップファイル）
U11 | HULFT.LOG | 集配信履歴ファイル
U11 | HULFT.LOG.PATH1 | 集配信履歴ファイルホスト名キーファイル
U11 | HULFT.LOG.PATH2 | 集配信履歴ファイル日付キーファイル
U01 | HULFT.FILE.BKUP | 集配信管理ファイル（バックアップファイル）
U11 | HULFT.FILE | 集配信管理ファイル
U01 | HULFT.HOST.BKUP | 詳細ホスト情報ファイル（バックアップファイル）
U11 | HULFT.HOST | 詳細ホスト情報ファイル

パラメーター名 | 項目名 | 説明
--- | --- | ---
VOLUMES | HUL001 | ボリューム名
CYLINDERS | (*1) | 容量
NAME | HULFT.FILE | 集配信管理ファイル
NAME | HULFT.FILE.DATA | 集配信管理ファイル データ・コンポーネント エントリー名
NAME | HULFT.FILE.IDX | 集配信管理ファイル インデックス・コンポーネント エントリー名
NAME | HULFT.HOST | 詳細ホスト情報ファイル
NAME | HULFT.HOST.DATA | 詳細ホスト情報ファイル データ・コンポーネント エントリー名
NAME | HULFT.HOST.IDX | 詳細ホスト情報ファイル インデックス・コンポーネント エントリー名
NAME | HULFT.QUEUE | 配信制御ファイル
NAME | HULFT.QUEUE.DATA | 配信制御ファイル データ・コンポーネント エントリー名
NAME | HULFT.QUEUE.IDX | 配信制御ファイル インデックス・コンポーネント エントリー名
NAME | HULFT.LOG | 集配信履歴ファイルIDキーファイル
NAME | HULFT.LOG.DATA | 集配信履歴ファイルIDキーファイル データ・コンポーネント エントリー名
NAME | HULFT.LOG.IDX | 集配信履歴ファイルIDキーファイル インデックス・コンポーネント エントリー名
NAME | HULFT.LOG.PATH1 | 集配信履歴ホスト名キーファイル
NAME | HULFT.LOG.PATH1.DATA | 集配信履歴ホスト名キーファイル データ・コンポーネント エントリー名
NAME | HULFT.LOG.PATH1.IDX | 集配信履歴ホスト名キーファイル インデックス・コンポーネント エントリー名
NAME | HULFT.LOG.PATH2 | 集配信履歴日付キーファイル
NAME | HULFT.LOG.PATH2.DATA | 集配信履歴日付キーファイル データ・コンポーネント エントリー名
NAME | HULFT.LOG.PATH2.IDX | 集配信履歴日付キーファイル インデックス・コンポーネント エントリー名
UNIT | SYSDA | UNIT
VOL=SER | HUL001 | ボリューム名

*1 | : | (一次要求量 増分量)

注意

- ロールバック用のJCLの内容（ライブラリー名、DD名、容量など）は、ご利用の環境にあわせて修正してください。容量の設定値は、移行前の環境をインストールしたときと同じ容量を設定することを推奨します。

- HULFT.LOG.PATH1は、HULFT.LOG.BKUPのホスト名をキーにしてソートしたものを復元してください。

- HULFT.LOG.PATH2は、HULFT.LOG.BKUPの日付をキーにしてソートしたものを復元してください。

## OS環境のロールバック

以下のOS環境の設定を変更している場合は、バックアップしたデータまたは控えた情報をもとに、お客様ご自身でバージョンアップ前の状態に戻してください。

- APF許可ライブラリーへの定義

- HULFT管理画面を起動するためのプロシージャーの変更

- OMVSセグメントの定義

- RACFへのユーザーIDおよびパスワードの登録