[問題描述]
在一臺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