[轉帖]如何將Logic Dump保存在本地PC,以便將來在另一臺Mainframe上Restore?

[問題描述]
在一臺Mainframe上使用Logic Dump的方式保存一些數據集,下載到本地PC上,以便日後上傳到其他Mainframe上進行Restore; 常規下載上傳方法無法在其他Mainframe上正常Restore先前保存的數據集.本篇文章給出一個可行的解決
方法.

[解答]
如果被保存的Logic Dump將來在同一臺Mainframe上Restore,按照常規方法(FTP或PCOMM)下載
到PC上是沒有問題的.如果將來要在其他Mainframe上Restore,使用常規方式下載然後在上傳到另一臺Mainframe上,Restore的時候會出現如下錯誤提示:

INVALID INPUT ON DDNAME TAPEI, INPUT DATA SET NOT PRODUCED BY DFDSS OR DFSMSDSS

要在另一臺Mainframe上Restore成功可以遵循如下流程:
1.將要保存的數據集製作成Logic Dump
//LGDUMP JOB MSGLEVEL=(1,1),MSGCLASS=X,NOTIFY=&SYSUID,REGION=0M
//DUMPDS EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//TAPE DD UNIT=3390,VOL=SER=Z6IMS1,
// DISP=(NEW,KEEP),DSN=TSCLJ.LGDUMP.D60404,
// SPACE=(CYL,(10,20),RLSE)
//SYSIN DD *
DUMP DATASET( -
INCLUDE(TSCLJ.PROG.**, -
TSCLJ.TRAINDS.JCL -
) -
) -
SPHERE TOL(ENQF) -
OUTDDNAME(TAPE)
/*
2.將製作好的Dump數據集Catalog(ISPF面板使用'C')
3.下載Dump到本地PC上
  (1)Windows下輸入命令FTP ip_address
  (2)輸入用戶名和密碼
  (3)依次輸入以下命令:
     bin           -->以Binary方式下載
     quote stru r  -->告訴IBM FTP Server將文件進行特殊編碼,以便加入end-of-record指示標誌
  (4)使用GET命令下載DUMP
4.上傳Dump到另一臺Mainframe上
  (1)Windows下輸入命令FTP another_ip_address
  (2)輸入用戶名和密碼
  (3)依次輸入以下命令:
     bin
     quote stru r
     quote site recfm=u lrecl=0 blksize=27998 pri=10 sec=20 cylinders                 
  (4)使用PUT命令上傳DUMP
5.Restore上傳的DUMP
//RESTDSN JOB ,,MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID,
// REGION=4096K
//*
//COPY EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//TAPEI DD DSN=BJSP02.LGDUMP.D60404,UNIT=3390,VOL=SER=BPPM03,
// DISP=(OLD,KEEP)
//DASDO DD UNIT=3390,VOL=SER=BPPM03,DISP=SHR
//SYSIN DD *
RESTORE DATASET(INCLUDE(TSCLJ.PROG.**, -
TSCLJ.TRAINDS.JCL))-
OUTDD(DASDO) INDD(TAPEI) -
CATALOG -
NULLMGMTCLAS -
NULLSTORCLAS -
RENAMEU(BJSP02) -
TOL(ENQF)
/*

[總結]
此問題的關鍵是設置下載和上傳時候使用命令: quote stru r   

PS:在使用FTP上傳下載的時候指定一下參數,參數的取值爲DUMP數據集的參數

quote site lrecl=8000 blksize=27998 recfm=u 
quote site pri=35 sec=500 cyl

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章