参考书籍:《SMP/E USER'S GUIDE》 SMP/E是一个Z/OS工具,用于管理Z/OS系统上软件产品的安装,并追踪这些产品的修改。 所有的代码和修正程序都可以在SMP/E数据库中找到,我们叫它CSI(consolidated software inventory),它有一个或多个VSAM数据集组成。

我们使用的Z/OS系统是由很多子系统拼起来的,所以我们可以看到: RACF | DB2 | MVS | CICS | ISPF | TSO | SMP/E | EREP | MQ | JES | RMF | HTTP | IMS | VTAM | WAS | NETVIEW | DFSMS | PSF | RRS

而每个系统的功能都由一个或者多个加载模块组成。

通常我们会使用SMP/E对系统进行更新,通常我们拿到一个SYSMOD(一个SYSMOD是元素和控制信息的打包,SMP/E使用这些控制信息来安装和跟踪系统的修改。)在SYSMOD里我们可以看到它由两部分组成,修正控制语句(MCS)和修正体两部分,修正体是目标模块,宏或SYSMOD;MCS的的前两个字母以“++”开头,进而告诉SMP/E:

1)更新或更换那些元素 2)SYSMOD如何与产品软件和其他SYSMOD相关联 3)其他特定的安装信息

一共有4中类型的SYSMOD

  1. FUNCTION SYSMOD 在系统引入一个新产品或是一个产品的新版本,或跟新系统中现有的某个产品的功能 举一个简单FUNCTION SYSMOD的例子:

    ++FUNCTION(FUN0001)                           /* SYSMOD TYPE AND IDENTIFIER.   */
    ++VER(Z038) FMID(FUN001)                      /* FOR AN OS/390 SYSTEM.         */
    ++MOD(MOD1) RELFILE(1)                        /* INTRODUCE THIS MODULE.        */   
                           DISTLIB(AOSFB)         /* IN THIS DISTRIBUTION LIBRARY  */
    ++MOD(MOD2) RELFILE(1)                        /* INTRODUCE THIS MODULE.        */   
                           DISTLIB(AOSFB)         /* IN THIS DISTRIBUTION LIBRARY  */
    ++MOD(MOD3) RELFILE(1)                        /* INTRODUCE THIS MODULE.        */   
                           DISTLIB(AOSFB)         /* IN THIS DISTRIBUTION LIBRARY  */
    ++MOD(MOD4) RELFILE(1)                        /* INTRODUCE THIS MODULE.        */   
                           DISTLIB(AOSFB)         /* IN THIS DISTRIBUTION LIBRARY  */
    
  2. PTF SYSMOD 当一个软件发现有问题时,IBM提供客户一个经过测试的补丁,这个补丁就是PTF。 举一个简单PTF SYSMOD的例子:

    ++PTF(PTF0001)                               /* SYSMOD TYPE AND IDENTIFIER.   */
    ++VER(Z038) FMID(FUN001)                     /* APPLY TO THIS PRODUCT         */
    ++MOD(MOD1)                                  /* REPLACE THIS MODULE.          */   
                          DISTLIB(AOSFB)        /* IN THIS DISTRIBUTION LIBRARY  */
    ...
    ...OBJECT CODE FOR MODULE
    
  1. APAR SYSMOD 有时当一个严重问题发生时,用户可能需要在PTF发布之前修正它,这种情况下,IBM提供了一个授权程序分析报告(APAR),APAR是一个补丁,可以快速修正元素的某个特定区域或者替代一个错误元素。 举一个简单APAR SYSMOD的例子:

    ++APAR(APAR001)                             /* SYSMOD TYPE AND IDENTIFIER.   */
    ++VER(Z038) FMID(FUN001)                    /* APPLY TO THIS PRODUCT         */
                        PRE(UZ00004)            /* AT THIS SERVICE LEVEL         */
    ++ZAP(MOD3)                                 /* UPDATE THIS MODULE.           */   
                           DISTLIB(AOSFB)       /* IN THIS DISTRIBUTION LIBRARY  */
    ...
    ...ZAP CONTROL STATEMENT
    
  2. USERMOD SYSMOD 如果用户有这样一个需求,需要产品完成和它原来设计不一样的任务,那么可能需要客户化系统中的元素。IBM提供用户一些模块剪裁IBM代码以满足特定的用户需求,在完成想要得到的改变之后,需要通过安装USERMOD SYSMOD从而在系统中添加或者更新这些模块。 举一个简单USERMOD SYSMOD的例子:

    ++USERMOD(APAR001)                      /* SYSMOD TYPE AND IDENTIFIER.   */
    ++VER(Z038) FMID(FUN001)                /* APPLY TO THIS PRODUCT         */
                        PRE(UZ00004)        /* AT THIS SERVICE LEVEL         */
    ++SRCUPD(JESMOD3)                       /* UPDATE THIS MODULE.           */   
                           DISTLIB(AOSFB)   /* IN THIS DISTRIBUTION LIBRARY  */
    ...
    ...UPDATE CONTROL STATEMENT
    

PTF,APAR和USERMOD SYSMOD都把FUNCTION SYSMOD作为先决条件,类似我们WINDOWS系统打补丁一样,比如在WINXP系统存在的情况下,我们可以打补丁,安装或更新一些修改后的软件。 1)PTF SYSMOD可能还依赖于其他的PTF SYSMOD,可能我们在安装PTF0002之前,必须先安装PTF0001. 2)APAR SYSMOD可能还依赖于PTF SYSMOD或者其他的APAR SYSMOD 3)USERMODSYSMOD可能还依赖于PTF SYSMOD,APAR SYSMOD或者其他的USERMOD SYSMOD。

为了成功的跟踪和控制元素,所以元素及其修正都必须在SMP/E中清晰地定义标识。 有3类修改标识符: 1)功能修改标识符(FMID)标识FUCTION SYSMOD,它将元素引入到系统中。 2)替换修改标识符(RMID)标识最后替换某元素的SYSMOD(大多数情况下为PTF SYSMOD) 3)更新修改标识符(UMID)标识自从某元素被替换之后,对其实施更新的SYSMOD

为了让SMP/E能正确地完成其处工作,SMP/E必须维护大量的信息,这包括其组织结构,,内容和它所管理的软件的修正状态。可以想象,所有这些有SMP/E必须维护的信息就好比一个公共图书馆,在一个公共图书馆中,一般看到的是放满书的书架,此外,还有放满了卡片目录的抽屉,图书馆里的每一本书都有一张对应的卡片。这些卡片包含了这些信息:标题,作者,出版日期,书的类型和书在书架上的具体位置等。

在SMP/E环境中,有两种类型的书架,他们分表代表的是DISTRIBUTION LIBRARY和TARGET LIBRARY。其中DISTRIBUTION LIBRARY是放安装完毕的产品,经过一段时间测试后没有问题的模块,类似备份的东西。而TARGET LIBRARY放的是安装完毕的产品。在图书馆里,读者借助卡片目录来查找到书籍或其他想要寻找的信息,同样,SMP/E采用CSI(CONSOLIDATED SOFTWARE IVENTORY)的形式提供类似的跟踪机制。CSI数据集包含所有SMP/E用来跟踪DISTRIBUTION LIBRARY和TARGET LIBRARY的信息。CSI条目包含元素名字,类型,历史记录,元素被引入到系统中的方法,元素在DISTRIBUTION LIBRARY和TARGET LIBRARY中的具体位置等。CSI并不包括元素本身,而是包含元素的描述信息。

在CSI中,元素在DISTRIBUTION LIBRARY和TARGET LIBRARY中的条目按照他们的安装状态分组 代表DISTRIBUTION LIBRARY的条目放到DISTRIBUTION ZONE中,代表TARGET LIBRARY中的元素的条目在TARGET ZONE中 除了DISTRIBUTION ZONE和TARGET ZONE,SMP/E CSI还包含一个GLOBAL ZONE,GLOBAL ZONE包含: 1)SMP/E用于识别和描述每个DISTRIBUTION ZONE和TARGET ZONE的关系 2)SMP/E处理选项的信息 3)SMP/E已经开始处理的全部SYSMOD的状态信息 4)需要特殊处理或存在错误的SYSMOD的异常数据

在SMP/E中,所说的异常数据通常是指HOLDDATA。HOLDDATA会在产品中提供,标识某个指定的SYSMOD禁止安装。阻挠SYSMOD安装的原因可能是: 1)PTF有错误,在错误被修正前不应该被安装(ERROR HOLD) 2)在SYSMOD安装前需要某些确定的系统行为(SYSTEM HOLD) 3)在SYSMOD安装前,用户想要完成某些行为(USER HOLD)

SMP/E用3个命令来完成:RECEIVE,APPLY,ACCEPT 1.RECEIVE命令允许用户将一个在SMP/E之外的SYSMOD加入到SMP/E库中,并开始为其构造CSI条目信息。这样这些条目可以用来查询从进入到处理的信息,目前RECEIVE的数据源更多的是从网上DOWN下来的(比如IBM网站),或者第三方的生产商。

该处理用于完成以下任务, 1)在GLOBAL ZONE中建立描述SYSMOD的条目 2)确保SYSMOD有效,如CSI中与安装产品相关的修正控制语句(MCS)的语法 3)将SYSMOD安装到库中。如PTF历史存放库 4)读取HOLDDATA信息,确保错误不被引入。

在RECEIVE处理过程中,每个SYSMOD的MCS都被复制到一个SMP/E临时存储区,叫做SMPPTS数据集,该SMPPTS数据集包含了该SYSMOD内部元素的替换或更新情况。而与元素相关的文件被打包在一起,并与MCS分开放置在RELFILE文件中,RELFILE文件存储在另一个数据集SMPTLIB的临时存储区中。SMP/E用它接受的SYSMOD信息来更新全局区。

使用RECEIVE接受所有SYSMOD和HOLDDATA SET BDY(GLOBAL). RECEIVE SET BDY(GLOBAL). RECEIVE.

如只接受需要特殊处理或有错误状态的HOLDDATA SET BDY(GLOBAL). RECEIVE HOLDDATA.

指接受SYSMOD SET BDY(GLOBAL). RECEIVE SYSMOD.

接受某个特定产品的所有SYSMOD,包括HOLDDATA SET BDY(GLOBAL). RECEIVE FORFMID(H28W500).

使用APPLY命令把RECEIVE后的SYSMOD安装到TARGET LIBRARY中。 APPLY处理会更新如下信息: 1)GLOBAL ZONE的所有SYSMOD条目都被更新,这样放映出SYSMOD已经应用到TARGET LIBRARY中 2)TARGET ZONE准确放映了APPLY处理的每条SYSMOD条目,元素条目(如MOD和LMOD)也在TARGET ZONE中被创建 3)BACKUP条目在SMPSCDS数据集中被创建,这样可以在必要的时候进行SYSMOD恢复。

使用APPLY安装PTF SYSMOD SET BDY(GLOBAL). APPLY PTFS.

安装指定的模块 SET BDY(GLOBAL). SELECT(UZ00001,UZ00002).

有时,可能需要在目标库中安装APAR,或USERMOD SET BDY(ZOSTGT1). APPLY APARS USERMODS.

使用ACCEPT命令把SYSMOD从TARGET LIBRARY安装到DISTRIBUTION LIBRARY中。 需要特别注意的是,如果SYSMOD的ACCEPT处理存在错误,不要ACCEPT它。使用RESTORE过程会选取被ACCEPT处理的SYSMOD还原到TARGET LIBRARY中,APPLY后系统运行一段时间没有问题后,在使用ACCEPT命令生成新的备份。

安装符合条件的PTF到DISTRIBUTION LIBRARY SET DBY(ZOSDLB1). ACCEPT PTFS.

如果想安装指定的PTF SYSMODS SET DBY(ZOSDLB1). ACCEPT SELECT(UZ00001,UZ00002).

更新某个产品的所有SYSMOD SET DBY(ZOSDLB1). ACCEPT PTFS FORFMID(H28W500).

总结: TARGET LIBRARY:生产系统 DISTRIBUCTION LIBRARY:备份系统

每个系统功能都由一个或者多个可庄子啊模块组成 可装载模块的包括:源代码,目标模块,可装载模块

术语: ELEMENT:源代码,目标模块,宏和其他类型的数据和代码都是系统中的基本构建块,成为ELEMENT SYSMOD:SMP/E可以安装大量不同的系统更新,前提是这些更新打包成一个系统修正程序或者SYSMOD SYSMOD由一些元件的组合以及控制信息组成

-----------------------------------------PTF 安装实例----------------------------------------------

1.在CSI中查询你要安装的PTF是否存在

---------------------- SMP/E PRIMARY OPTION MENU ---------------- SMP/E 35.11  
===> 3                                                                         
                                                                    More:     +

     0  SETTINGS           - Configure settings for the SMP/E dialogs           
     1  ADMINISTRATION     - Administer the SMPCSI contents                     
     2  SYSMOD MANAGEMENT  - Receive SYSMODs and HOLDDATA                       
                             and install SYSMODs                                
     3  QUERY              - Display SMPCSI information                         
     4  COMMAND GENERATION - Generate SMP/E commands                            
     5  RECEIVE            - Receive SYSMODs, HOLDDATA and                      
                             support information                                
     6  MIGRATION ASSISTANT- Generate Planning and Migration Reports            
     7  ORDER MANAGEMENT   - Manage ORDER entries in the global zone            

     D  DESCRIBE           - An overview of the dialogs                         
     T  TUTORIAL           - Details on using the dialogs                       
     W  WHAT IS NEW        - What is New in SMP/E                               

Specify the name of the CSI that contains the global zone:                     
    SMPCSI DATA SET   ===> 'ZOS1A.GLOBAL.CSI'                                   
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
---------------------- SMP/E PRIMARY OPTION MENU ---------------- SMP/E 35.11  
                             QUERY SELECTION MENU                               

     1  CSI QUERY           - Display SMPCSI entries                            
     2  CROSS-ZONE QUERY    - Display status of an entry in                     
                              all zones                                         
     3  SOURCEID QUERY      - Display SOURCEIDs for specified zone              

     D  DESCRIBE            - Overview of using QUERY                           

     T  TUTORIAL            - Information on using QUERY                        

To return to the SMP/E primary option menu, enter  END .                       








===> 2                                                                         
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE   
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
                               CROSS-ZONE QUERY                                 

Specify the entry type and name to be queried:                                 

    ENTRY TYPE  ===> SYSMOD   Entry type to be queried.                         
                              To display a selection list of all valid entry    
                              types, leave ENTRY TYPE and ENTRY NAME            
                              blank                                             

    ENTRY NAME  ===> UK51888  Entry name to be queried.                         


To return to the Query selection menu enter the END command                    







===>                                                                           
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
               CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3

  Entry Type:  SYSMOD                                                           
  Entry Name:  UK51888                                                          

  To return to the previous panel, enter END .                                  

  To select an entry from a zone, enter S next to the zone.                     

       * - Entry not found in zone.                                             
      ** - Zone could not be allocated or is not initialized.                   

             -------------------- Status -----------------------------------    
     ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
     -------- -------- -------- -------- -------- -------- -------- --------    
     DZOS1A0  *                                                                 
     GLOBAL   PTF               REC      10.153   16:07:10                      
     TZOS1A0  PTF      HIP61A0  APP      10.153   16:44:29                      
******************************* Bottom of data ********************************

===>                                                          SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

因为我的系统是刚刚打过PTF的,所以 可以看到UK48822已经在系统里面APPLY,但是还没有ACCEPT,这时我们可以使用RESTORE命令来还原。

//A0001RES  JOB IBM,CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),   
//           NOTIFY=&SYSUID,USER=IBMUSER                           
//STEP1  EXEC PGM=GIMSMP,REGION=0M                                
//SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                       
//SMPLOG   DD SYSOUT=*                                            
//SMPWRK6  DD UNIT=SYSDA,SPACE=(CYL,(20,10,1000))                 
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(20,10))                      
//SYSUT2  DD  UNIT=SYSDA,SPACE=(CYL,(10,5))                       
//SYSUT3  DD  UNIT=SYSDA,SPACE=(CYL,(10,5))                       
//*MPPTFIN DD UNIT=SYSDA,DISP=SHR,                                
//*        DSN=TEST.PTF.APLTEST                                
//SMPRPT   DD SYSOUT=*                                            
//SMPCNTL  DD *                                                   
SET BOUNDARY(TZOS1A0).                                           
RESTORE                                                          
  SELECT( UK51888                                                 
         )                                                        
         GROUP                       <---GROUP是查看是否有相关联的PTF                             
        .
/*

查看状态

               CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3

  Entry Type:  SYSMOD                                                           
  Entry Name:  UK51888                                                          

  To return to the previous panel, enter END .                                  

  To select an entry from a zone, enter S next to the zone.                     

       * - Entry not found in zone.                                             
      ** - Zone could not be allocated or is not initialized.                   

             -------------------- Status -----------------------------------    
     ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
     -------- -------- -------- -------- -------- -------- -------- --------    
     DZOS1A0  *                                                                 
     GLOBAL   PTF               REC      10.153   16:07:11                      
     TZOS1A0  *                                                                 
******************************* Bottom of data ********************************


===>                                                          SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE

使用REJECT把RECEIVE的状态干掉

//A0002REJ JOB CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),  
//           NOTIFY=&SYSUID,USER=IBMUSER                           
//STEP1  EXEC PGM=GIMSMP,REGION=0M                                
//SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                       
//SMPLOG   DD SYSOUT=*                                            
//SMPRPT   DD SYSOUT=*                                            
//SMPWRK1  DD UNIT=SYSDA,SPACE=(CYL,(30,20,200)),DISP=(,DELETE),  
//           DCB=BLKSIZE=6160                                     
//SMPWRK2  DD UNIT=SYSDA,SPACE=(CYL,(30,20,110)),DISP=(,DELETE),  
//           DCB=BLKSIZE=6160                                     
//SMPWRK3  DD UNIT=SYSDA,SPACE=(CYL,(50,30,150)),DISP=(,DELETE),  
//           DCB=BLKSIZE=3120                                     
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)        
//SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)        
//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)        
//SMPCNTL  DD *                                                  
   SET BDY(GLOBAL).         
   REJECT                   
     SELECT( UK51888 )      
   .                        
/*

查看状态

               CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3

  Entry Type:  SYSMOD                                                           
  Entry Name:  UK51888                                                          

  To return to the previous panel, enter END .                                  

  To select an entry from a zone, enter S next to the zone.                     

       * - Entry not found in zone.                                             
      ** - Zone could not be allocated or is not initialized.                   

             -------------------- Status -----------------------------------    
     ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
     -------- -------- -------- -------- -------- -------- -------- --------    
     DZOS1A0  *                                                                 
     GLOBAL   *                                                                 
     TZOS1A0  *                                                                 
******************************* Bottom of data ********************************

===>                                                          SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

时相当于重新为系统打UK51888这个补丁:

  1. 先下载UK51888,网站http://w3-950.ibm.com/wwqa/wwqa.nsf/wwqalogon?OpenForm&corp

  2. 确认UK51888在系统里面是否存在,上面已经确认过了。

  3. 把你download下来的bin文件床传到系统中。

  4. unpack,使用JCL,不知道什么原因,这次下载下来的BIN需要unpack两次。

    //A0003UPK JOB MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID  
    //STEP1   EXEC PGM=TRSMAIN,PARM='UNPACK'                             
    //SYSPRINT DD  SYSOUT=A                                              
    //INFILE   DD  DSN=TEST.UK43912.SMP.BIN,DISP=SHR,UNIT=SYSDA       
    //OUTFILE  DD  DISP=(NEW,CATLG),DSN=TEST.UK43912.SMP.BIN.UPK,     
    //             VOL=SER=COMUSR,UNIT=3390,SPACE=(CYL,(1,1))            
    //STEP2   EXEC PGM=TRSMAIN,PARM='UNPACK'                             
    //SYSPRINT DD  SYSOUT=A                                              
    //INFILE   DD  DSN=TEST.UK43912.SMP.BIN.UPK,DISP=SHR,UNIT=SYSDA   
    //OUTFILE  DD  DISP=(NEW,CATLG),DSN=TEST.UK43912.SMP,             
    //             VOL=SER=COMUSR,UNIT=3390,SPACE=(CYL,(1,1))
    

    UNPACK后的文件

    ...
    ++ PTF (UK51888)        /*                                          
    //UK51888  JOB 5655-51888,HAL00,MSGLEVEL=(1,1),CLASS=A     */  .    
    ++ VER (Z038)                                                       
       FMID(HIP61A0)                                                    
       PRE  (UK50683,UK50072,UK47990,UK44784)                           
       SUP  (UK50080,UK38262,AK94784,AK87221,AK68879)          .        
    ++ IF FMID(HIP61B0) THEN REQ (UK51889)                  
    ...
    
  1. 使用RECEIVE命令会GLOBAL ZONE里显示出REC这个状态

    //A0004RCV JOB CLASS=A,MSGCLASS=H,               
    //            MSGLEVEL=(1,1),NOTIFY=&SYSUID,USER=IBMUSER    
    //STEP1  EXEC PGM=GIMSMP,REGION=0M                         
    //SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                
    //SMPLOG   DD SYSOUT=*                                     
    //SMPWRK6  DD UNIT=SYSDA,SPACE=(CYL,(20,10,1000))          
    //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(20,10))               
    //SYSUT2  DD  UNIT=SYSDA,SPACE=(CYL,(10,5))                
    //SYSUT3  DD  UNIT=SYSDA,SPACE=(CYL,(10,5))                
    //SYSUT4  DD  UNIT=SYSDA,SPACE=(CYL,(10,5))                
    //SMPPTFIN DD UNIT=SYSDA,VOL=SER=COMUSR,DISP=SHR,          
    //         DSN=TEST.UK43912.SMP                         
    //SMPRPT   DD SYSOUT=*                                     
    //SMPCNTL  DD *                                            
    SET BDY(GLOBAL).                                          
    RECEIVE                                                   
    SELECT( UK51888 )    
            SYSMODS       
            LIST          
            .
    
                   CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3
    
      Entry Type:  SYSMOD                                                           
      Entry Name:  UK51888                                                          
    
      To return to the previous panel, enter END .                                  
    
      To select an entry from a zone, enter S next to the zone.                     
    
           * - Entry not found in zone.                                             
          ** - Zone could not be allocated or is not initialized.                   
    
                 -------------------- Status -----------------------------------    
         ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
         -------- -------- -------- -------- -------- -------- -------- --------    
         DZOS1A0  *                                                                 
         GLOBAL   PTF               REC      10.174   16:45:45                      
         TZOS1A0  *                                                                 
    ******************************* Bottom of data ********************************
    
    ===>                                                          SCROLL ===> PAGE
      F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
      F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
    
  2. 用APPLY命令会TARGET ZONE里显示出APP这个状态

    //A0005APP  JOB USER=IBMUSER,CLASS=A,MSGCLASS=H,                      
    //            MSGLEVEL=(1,1),NOTIFY=&SYSUID                          
    //STEP1  EXEC PGM=GIMSMP,REGION=0M                                   
    //SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                          
    //SMPLOG   DD SYSOUT=*                                               
    //SMPRPT   DD SYSOUT=*                                               
    //SMPWRK1  DD UNIT=SYSDA,SPACE=(CYL,(30,20,200)),DISP=(,DELETE),     
    //           DCB=BLKSIZE=6160                                        
    //SMPWRK2  DD UNIT=SYSDA,SPACE=(CYL,(30,20,110)),DISP=(,DELETE),     
    //           DCB=BLKSIZE=6160                                        
    //SMPWRK3  DD UNIT=SYSDA,SPACE=(CYL,(50,30,150)),DISP=(,DELETE),     
    //           DCB=BLKSIZE=3120                                        
    //SMPWRK4  DD UNIT=SYSDA,SPACE=(CYL,(30,20,110)),DISP=(,DELETE),     
    //           DCB=BLKSIZE=3120                                        
    //SMPWRK6  DD UNIT=SYSDA,SPACE=(CYL,(30,20,10)),DISP=(,DELETE),      
    //           DCB=BLKSIZE=6160                                        
    //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)            
    //SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)            
    //SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)            
    //SYSUT4   DD UNIT=SYSDA,SPACE=(TRK,(10,5)),DISP=(,DELETE)            
    //SMPCNTL  DD *                                                       
    SET BDY(TZOS1A0).                                                    
    APPLY                                                                
    SELECT( UK51888 )                                                    
    BYPASS(HOLDSYSTEM(DOC,ENH,DYNACT,IPL,ACTION))                        
    CHECK                                             <--check没问题后,把CHECK去掉在SUB JCL                  
    .                                                                    
    /*                                                                    
    //
    
                   CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3
    
      Entry Type:  SYSMOD                                                           
      Entry Name:  UK51888                                                          
    
      To return to the previous panel, enter END .                                  
    
      To select an entry from a zone, enter S next to the zone.                     
    
           * - Entry not found in zone.                                             
          ** - Zone could not be allocated or is not initialized.                   
    
                 -------------------- Status -----------------------------------    
         ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
         -------- -------- -------- -------- -------- -------- -------- --------    
         DZOS1A0  *                                                                 
         GLOBAL   PTF               REC      10.174   16:45:45                      
         TZOS1A0  PTF      HIP61A0  APP      10.174   16:53:04                      
    ******************************* Bottom of data ********************************
    
    ===>                                                          SCROLL ===> PAGE
      F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
      F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
    
  3. 时这个PTF已经完成了,重新系统看看测试下是否有异常,在系统运行一段时候后,可以使用ACCEPT做一个新的备份点。 使用ACCEPT命令会DISTRIBUTION ZONE里显示出ACC这个状态

    //A0006ACC JOB USER=IBMUSER,CLASS=A,MSGCLASS=H,            
    //            MSGLEVEL=(1,1),NOTIFY=&SYSUID                            
    //STEP1  EXEC PGM=GIMSMP,REGION=0M                                      
    //SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                             
    //SMPLOG   DD SYSOUT=*                                                  
    //SMPRPT   DD SYSOUT=*                                                  
    //SMPWRK1  DD UNIT=SYSDA,SPACE=(CYL,(30,20,200)),DISP=(,DELETE),        
    //           DCB=BLKSIZE=6160                                           
    //SMPWRK2  DD UNIT=SYSDA,SPACE=(CYL,(30,20,110)),DISP=(,DELETE),        
    //           DCB=BLKSIZE=6160                                           
    //SMPWRK3  DD UNIT=SYSDA,SPACE=(CYL,(50,30,150)),DISP=(,DELETE),        
    //           DCB=BLKSIZE=3120                                           
    //SMPWRK4  DD UNIT=SYSDA,SPACE=(CYL,(30,20,110)),DISP=(,DELETE),        
    //           DCB=BLKSIZE=3120                                           
    //SMPWRK6  DD UNIT=SYSDA,SPACE=(CYL,(30,20,10)),DISP=(,DELETE),         
    //           DCB=BLKSIZE=6160
    //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)             
    //SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)             
    //SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(10,5)),DISP=(,DELETE)             
    //SYSUT4   DD UNIT=SYSDA,SPACE=(TRK,(10,5)),DISP=(,DELETE)             
    //SMPCNTL  DD *                                                        
    SET BDY(DZOS1A0).                                                     
    ACCEPT                                                                
      SELECT( UK51888 )                                                    
      BYPASS(HOLDSYSTEM(DOC,ENH,DYNACT,IPL,ACTION))                        
      CHECK                                              <--check没问题后,把CHECK去掉在SUB JCL                    
      .                                                                    
    /*
    
                   CSI CROSS-ZONE QUERY - ENTRY SELECTION           Row 1 to 3 of 3 
    
      Entry Type:  SYSMOD                                                           
      Entry Name:  UK51888                                                          
    
      To return to the previous panel, enter END .                                  
    
      To select an entry from a zone, enter S next to the zone.                     
    
           * - Entry not found in zone.                                             
          ** - Zone could not be allocated or is not initialized.                   
    
                 -------------------- Status -----------------------------------    
         ZONE     TYPE     FMID     STATUS   DATE     TIME     REWORK               
         -------- -------- -------- -------- -------- -------- -------- --------    
         DZOS1A0  PTF      HIP61A0  ACC      10.174   17:00:16                      
         GLOBAL   *                                                                 
         TZOS1A0  PTF      HIP61A0  APP      10.174   16:53:04                      
    ******************************* Bottom of data ********************************
    
    ===>                                                          SCROLL ===> PAGE 
      F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=RFIND     F6=RCHANGE   
      F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE  
    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
    
  1. 可以使用LIST列出PTF的状态

    //A0007LST JOB CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),    
    //           NOTIFY=&SYSUID,USER=IBMUSER                           
    //STEP1  EXEC PGM=GIMSMP,REGION=0M                                
    //SMPCSI   DD DISP=SHR,DSN=ZOS1A.GLOBAL.CSI                       
    //SMPRPT   DD SYSOUT=*                                            
    //SMPLOG   DD SYSOUT=*                                            
    //SMPCNTL  DD *                                                   
      SET BDY(TZOS1A0).                                               
      LIST                                                            
      SYSMOD(UK51888)                                                 
      .                                                               
    /*
    

    可以在LOG中看到

    UK51888   TYPE            = PTF                                                 
              STATUS          = REC  APP                                            
              FMID            = HIP61A0                                             
              DATE/TIME REC   = 10.174  16:45:45                                    
                        INS   = 10.174  16:53:04                                    
              SOURCEID        = HIPER                                               
                                PUT0912                                             
                                RSU1001                                             
                                SMCCOR
    
Copyright © OneZos all right reserved,powered by Gitbook本书发布时间: 2021-06-09 11:09:58

results matching ""

    No results matching ""