Friday, August 07, 2015

How to increase the size of a VTOC

ICKDSF can now change the size of the VTOC without re-initialising the volume. Two methods are available:
1.    Extend the VTOC in place (if there is free space next to the VTOC):
    REFORMAT UNIT(xxxx) VERIFY(serial) EXTVTOC(new size)
3.    Move the VTOC to a different location on the volume:
    REFORMAT UNIT(xxxx) VERIFY(serial) NEWVTOC(cc,hh,n)

Activation of IODF dynamically

Testing Your System for Automated Dynamic I/O

After you’ve implemented your RESET and image profile changes, you can test your system to make sure it’s ready for Dynamic I/O. To perform the test, issue the “D IOS,CONFIG(ALL)” command. If your system is ready for Dynamic I/O, you’ll see non-zero values for the entries in the “Hardware System Area Available for Configuration Changes” section. These entries show the number of devices, control units, and channel paths that you can add to your system.

Performing the Automated Dynamic I/O Process

Performing an Automated Dynamic I/O involves these steps:

1. Create a new IOCDS, using HCD, to define the new device(s) to the hardware.
2. Create a new IODF file, using HCD, to define the device to MVS.
3. Activate the software portion of the configuration, using the ACTIVATE SOFT command, on all but one LPAR.
4. Activate the hardware portion of the configuration, using the ACTIVATE command, on one LPAR.
5. Point the RESET profile to the new IOCDS, using the ACTIVATE ACTIOCDS command.

The first two steps are common systems programmer functions. The only requirement for Dynamic I/O in these steps is to define the devices as Dynamic.

Activate the Software Portion of the Configuration

After you’ve created the IOCDS and IODF files, you’re ready to activate the software (MVS) portion of the new configuration. The software portion is the definition of the device UCBs used by MVS to communicate with each device. The software portion should be implemented on all but one LPAR. #Before activating the software portion, you should execute these three commands to check your new configuration:

D IOS,CONFIG(ALL): Issue this command to display the current token. After the activations, you can verify the token was modified.

ACTIVATE IODF=xx,TEST: Issue this command to test the hardware and software portions before making any changes. Replace xx with your new IODF suffix. The output of this command will identify potential errors and also will display the devices added or deleted when the activate occurs.

ACTIVATE IODF=xx,SOFT,TEST: This final command will test the software portion of the activate. The output of this command informs you that the activate will cause a mismatch between the hardware and software configurations. This is expected, since the hardware portion of the configuration hasn’t been activated. Note: Replace xx with your new IODF suffix.

Once you’re comfortable with the results of the aforementioned commands, issue the following command to activate the software portion of the configuration on all but one LPAR on the machine. Note: Replace xx with your new IODF suffix:

ACTIVATE IODF=xx,SOFT

If you display the device (i.e., D U,,,0550,1), you’ll see that MVS has a UCB for the device. But, if you display the path for the device (DS P,0550,1), you’ll see there’s no path associated with this device. This is because the hardware portion of the configuration hasn’t yet been activate d . If you issue the D IOS,CONFIG(ALL) command, you’ll see that the name of the active IODF data set has changed, but the IODF name in the token still points to the old IODF name.

Activate the Hardware Portion of the Configuration

After you activate the software portion of the configuration on all but one LPAR, you’re ready to implement the hardware portion of the configuration. When you activate the hardware portion, this will affect every LPAR on the machine. On the remaining LPAR, you’ll activate both the software and the hardware portions, using this command (replace xx with the suffix of your new IODF):

ACTIVATE IODF=xx

You should verify the activation by displaying the new devices using both the D U and DS P commands. You also should issue the D IOS,CONFIG(ALL) command to verify that the IODF name in the token was changed to the new IODF name. Point the RESET Profile to the New IOCDS

The final step in the Automated Dynamic I/O process is to point your RESET profile to the new IOCDS. Use this command (replace Ax with the appropriate IOCDS slot):

ACTIVATE ACTIOCDS=Ax

The ACTIVATE ACTIOCDS command doesn’t perform any dynamic I/O functions. It only changes the active IOCDS pointer. Since you previously changed your RESET profile to “Use Active IOCDS,” the next time you POR, you’ll be using the proper IOCDS. After you issue the ACTIVATE ACTIOCDS command, you should go into your HMC and verify that the Active IOCDS pointer was modified as expected.

Conclusion

We’ve covered several variations of the Dynamic I/O ACTIVATE command. If you prefer to use panels rather than the native ACTIVATE commands, the HCD provides panels you can use to perform your hardware and software activates. For more information on Dynamic I/O, see the IBM publication Hardware Configuration Definition Planning (GA22-7525). This manual contains a wealth of information and also documents recovery steps to take if your activates don’t go as planned.




Monday, October 20, 2014

Cloud Computing

Cloud computing may be the next big thing for computer firms but the secure cloud computing will be the next biggest issue. How are the firms going to tackle the problems?

Assessing  security risk is "the biggest issue". How do you know if your information is sitting next to your competitor's information in the same datacenter. - Bloomberg Businessweek - Oct 13th Edition

Thursday, October 02, 2014

ASG - ViewDirect - U0666

04.07.23 JOB*****  IEF450I JOBNAME REPTPROC PROC020 - ABEND=S000 U0666 REASON=000000000  238
04.07.23 JOB*****  U11-656 JOBNAME=JOBNAME,STPROC=PROC020 ,STSTEP=REPTPROC,AUTO SETUP PARMS

This issue is due to an error due to corruption in archive Distribution dataset (INDIST1) which is a VSAM ESDS dataset.

When the reports are pushed into the INFOPAC, the "REPTPROC TERMINATED BY ABS" which is a unrecoverable error, This user abend code is always accompanied with messages 9998 and 9999. Refer to these messages for information about why the task was terminated. If the problem persists, contact ASG Customer Support.

Once ASG verifies the failed job log, ASG would ask for cross reference report which will be produced against the corrupted dataset. ASG will let us know about the report IDs which is not available in the distribution database.

//*********JOB TO EXECUTE THE CROSS REFERENCE REPORT ****************//
//JOBCARD
//REPTXREF PROC DISKPFX='XXX.INFOPAC',      <=== DISK DATASET PREFIX        
//         VDSNPFX='XXX.INFOPAC',           <=== VSAM DATASET PREFIX             
//         SYSOUT='*'                       <=== YOUR SYSOUT CLASS              
//REPTXREF EXEC PGM=INFOPAC7                            
//STEPLIB  DD DSN=&DISKPFX..LOADLIB,DISP=SHR            
//*        DD DSN=&LELIB,DISP=SHR                       
//INCARD1  DD *                                         
##X-REPORT    01 I01U004D                   <=== I01U004D is a sample reportID that is unavailable                            
//INDIST1  DD DSN=&VDSNPFX..INDIST1.BKP29914,DISP=SHR   
//INRPT11  DD SYSOUT=&SYSOUT                            
//INRPT21  DD SYSOUT=&SYSOUT                            
//INWORK1  DD DSN=&&INWORK1,                            
//            SPACE=(CYL,(2,1)),                        
//            UNIT=SYSDA                                
//SORTMSG  DD SYSOUT=&SYSOUT                            
//SORTMS1  DD SYSOUT=&SYSOUT                            
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SORTWK04 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SORTWK05 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SORTWK06 DD UNIT=SYSDA,SPACE=(CYL,(2,1))              
//SYSUDUMP DD SYSOUT=&SYSOUT                                         
//ABNLIGNR DD DUMMY                         *** THIS DD TURNS OFF ABEND-AID ***   
//         PEND                                                      

//REPTXREF EXEC REPTXREF                                             

Once the issue is identified the backup of the last best version of the INDIST1 dataset has to be restored to bring back the INFOPAC and INFORDS system back to normal. During the restore activity the Started Tasks (STCs) of both INFOPAC and INFORDS will be brought down to restore the dataset and then activate the STCs back to normal.

//***********TO RESTORE A NON CORRUPTED COPY OF THE DATASET**********//
//JOBCARD
//*                                                                     
//*********************************************************************
//*   SHUT DOWN INFOPAC ADMINISTRATIVE ONLINE VARY                    *
//*********************************************************************
//STEP010  EXEC    PGM=IEBEDIT                                         
//SYSPRINT DD      SYSOUT=*                                            
//SYSUDUMP DD      SYSOUT=D                                            
//*                                                                    
//SYSUT1   DD      DATA,                                               
//             DLM=$$                                                  
/*$VS,'VARY NET,INACT,ID=BB0XINFO,FORCE'
/*$VS,'VARY NET,INACT,ID=BB0XRDS,FORCE'                                
$$                                                                     
//*                                                                    
//*********************************************************************
//*   BACK UP INDIST1 DATA SETS                             *          
//*********************************************************************
//STEP020  EXEC    PGM=IDCAMS                                          
//SYSPRINT DD      SYSOUT=*                                            
//SYSUDUMP DD      SYSOUT=D                                            
//*                                                                    
//INDD1    DD      DSN=SYS3.INFOPAC.INDIST1,DISP-SHR                           
//OUTDD1   DD      DSN=PNTS.INFOPAC.INDIST1.BK100114,                  
//             DISP=(NEW,CATLG),                                       
//             UNIT=TAPE,                                              
//             LABEL=(1,SL),                                           
//             VOL=(,RETAIN),                                          
//             DCB=(MODELGDG,RECFM=VB,LRECL=2064,BLKSIZE=0)            
//*                                                                    
//SYSIN    DD      DSN=PROD.DATALIB(INDD1),DISP=SHR                            
//*                                                                    
//********************************************************************* 
//*   DEL/DEF INDIST1 DATA SETS                             *           
//********************************************************************* 
//STEP030  EXEC    PGM=IDCAMS                                           
//VDSBYPAS DD      DUMMY                                                
//SYSPRINT DD      SYSOUT=*                                             
//SYSUDUMP DD      SYSOUT=D                                             
//*                                                                     
//SYSIN    DD      *                                                    
   DELETE SYS3.INFOPAC.INDIST1  PURGE                                   
   SET MAXCC = 0                                                        
                                                                        
   DEFINE CLUSTER -                                                     
            (NAME(SYS3.INFOPAC.INDIST1) -                               
             NONSPANNED -                                               
             SHAREOPTIONS(4 3) -                                       
            FREESPACE(20 10) -                                         
            VOLUMES(PRD500)) -                                         
         DATA -                                                        
           (NAME(SYS3.INFOPAC.INDIST1.DATA) -                          
            CYLINDERS(800 400) -                                       
            KEYS(60 0) -                                               
            RECORDSIZE(200 1060) -                                     
            CONTROLINTERVALSIZE(4096)) -                               
         INDEX -                                                       
           (NAME(SYS3.INFOPAC.INDIST1.INDEX) -                         
            CYLINDERS(100 50) -                                        
            CONTROLINTERVALSIZE(4096))                                 
//*                                                                    
//*********************************************************************
//*   RELOAD INDIST1 DATA SETS                              *          
//*********************************************************************
//STEP040  EXEC    PGM=IDCAMS,COND=(0,NE)                              
//SYSPRINT DD      SYSOUT=*                                            
//SYSUDUMP DD      SYSOUT=D                                            
//*                                                                    
//INDD1    DD      DSN=PNTS.T30REPRO.INDIST1.G7670V00,DISP=SHR                 
//OUTDD1   DD      DSN=SYS3.INFOPAC.INDIST1,DISP=SHR                           
//*                                                                    
//SYSIN    DD      DSN=PROD.DATALIB(INDD1),DISP=SHR                            
//*                                                                    
//*********************************************************************
//*   START INFOPAC ADMINISTRATIVE ONLINE VARY ACTIVE                 *
//*********************************************************************
//STEP050  EXEC    PGM=IEBEDIT,COND=(0,NE)                             
//SYSPRINT DD      SYSOUT=*                                            
//SYSUDUMP DD      SYSOUT=D                                            
//*                                                                    
//SYSUT1   DD      DATA,                                               
//             DLM=$$                                                  
/*$VS,'VARY NET,ACT,ID=BB0XINFO'
/*$VS,'VARY NET,ACT,ID=BB0XRDS'                                        
$$                                                                      
//*                                                                     
//SYSUT2   DD      SYSOUT=(P,INTRDR),BLKSIZE=80                               
//*                                                                     
//SYSIN    DD      DUMMY                                                
//*                                                                     


Friday, June 27, 2014

MQ Commands

Stopping MQ region 
  /MQxx STOP QMGR
    This will only bring down MQxxCHIN region of the MQ region
       Manually bring down MQxxBTCH and MQxxMSTR region of the MQ

Starting MQ region
    Console command - /MQxx START QMGR PARM(xparm)
    MQ region command line - /MQxx START CHINIT PARM(xparm)
    SYSLOG command line command - /START MQxxBTMN