Copying HALDBs by using DFSMSdss

You can use DFSMSdss to copy a HALDB to a different IMS.

About this task

Using DFSMSdss works like image copy recovery. The target RECON must reflect any deleted partitions and you must /DBR the database.

You can create the partition definition for the target RECON and create the DFSMSdss commands that are necessary to make the copy.

Procedure

  1. Locate the sample JCL for this utility in the SIHCSAMP file, member IHCEDFDS.
  2. Specify the JCL DD statements.
    For a list of DD statements, see COPYDBRC DD statements.
  3. Specify the COPYDBRC command parameters.
    For a list of COPYDBRC command parameters, see COPYDBRC command parameters.
  4. Make sure that the target RECON reflects any deleted partitions.
  5. Run /DBR on the database.

Example

Figure 1. Sample JCL from member IHCEDFDS (Part 1 of 2)
//*------------------------------------------------------------------
//*                                                                  
//*           Copy a database to different RECON                     
//*           The copy function is done via DFDSS                    
//*                                                                  
//*------------------------------------------------------------------
//CRE    EXEC PGM=IHCWHALD,                                          
//            REGION=60M                                             
//STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD                             
//         DD DISP=SHR,DSN=your.SDFSRESL                             
//DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL                             
//IMS      DD DISP=SHR,DSN=your.DBDLIB                               
//RECON1   DD DISP=SHR,DSN=your.RECON1                               
//RECON2   DD DISP=SHR,DSN=your.RECON2                               
//RECON3   DD DISP=SHR,DSN=your.RECON3                               
//MSGPRINT DD SYSOUT=*                                               
//SYSUDUMP DD SYSOUT=*                                               
//SYSOUT   DD SYSOUT=*                                               
//IHCSYSIN DD *                                                      
 COPYDBRC DBD(nnnnn) -                                               
         DSNPREF(new.hlq) -                                          
         DSNDBD(DBD) -                                               
         INCLIND(YES) -                                              
         DFDSS(YES) -                                                
         DFDSSOUT(DSSOUT) -                                          
         IDCOUT(IDCOUT) -                                            
         TODD(DBRCOUT)                                               
/*                                                                   
//DBRCOUT  DD DISP=(,PASS),SPACE=(TRK,(1,1)),UNIT=SYSALLDA           
//DSSOUT   DD DISP=(,PASS),SPACE=(TRK,(1,1)),UNIT=SYSALLDA           
//IDCOUT   DD DISP=(,PASS),SPACE=(TRK,(1,1)),UNIT=SYSALLDA           
//*---------------------------------------------------------         
//*           APPLY TO OTHER DBRC                                    
//*---------------------------------------------------------         
//DBRC   EXEC PGM=IHCYUTIL,                                          
//            REGION=60M                                             
//STEPLIB  DD DISP=SHR,DSN=your.SIHCLOAD                             
//         DD DISP=SHR,DSN=your.SDFSRESL                             
//DFSRESLB DD DISP=SHR,DSN=your.SDFSRESL                             
//RECON1   DD DISP=SHR,DSN=the.other.RECON1                          
//RECON2   DD DISP=SHR,DSN=the.other.RECON2                          
//RECON3   DD DISP=SHR,DSN=the.other.RECON3                          
//IMS      DD DISP=SHR,DSN=your.DBDLIB                               
//TRACE    DD DUMMY                                       
//SYSPRINT DD SYSOUT=*                                    
//MSGPRINT DD SYSOUT=*                                    
//SYSIN    DD DISP=(OLD,DELETE),DSN=*.CRE.DBRCOUT         
//IHCSYSIN DD *                                           
   RUN   PGM(IHCYDBR0)                                    
Figure 2. Sample JCL from member IHCEDFDS (Part 2 of 2)
//*---------------------------------------------------------   
//*           Delete target datasets                           
//*---------------------------------------------------------   
//DEL    EXEC PGM=IDCAMS,DYNAMNBR=99,                          
//            REGION=50M,COND=(4,LE)                           
//SYSPRINT DD SYSOUT=*                                         
//SYSIN    DD DISP=(OLD,DELETE),DSN=*.CRE.IDCOUT               
//*---------------------------------------------------------   
//*           Use DFDSS to copy                                
//*---------------------------------------------------------   
//IDC    EXEC PGM=ADRDSSU,DYNAMNBR=99,                         
//                 REGION=50M,COND=(4,LE)                           
//SYSPRINT DD SYSOUT=*                                         
//SYSIN    DD DISP=(OLD,DELETE),DSN=*.CRE.DSSOUT               
//         DD *                                                
      TGTALLOC(SOURCE) -                                       
      TOL(ENQF) -                                              
      ADMINISTRATOR -                                          
      VOL(ANY) -                                               
      WAIT(2,2) SHR                                            
/*