ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

How to duplicate a Deliver Database from another system

book

Article ID: 236781

calendar_today

Updated On:

Products

Deliver

Issue/Introduction

I need to duplicate a Deliver database from one system to another unconnected system.

What is the process to duplicate a Deliver Database?

Environment

Release : 14.0

Component : Deliver

Resolution

Here are the instructions to copy a Deliver Database:

a) Shut down all activities on the sending database using "/F rmostc,OFF"

b) Run RMODBASE UNLOAD:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_HLQ'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                          
//RMOUNLD  DD  DSN=XXXXXX.XXXXXX.RMOUNLD,                        
//             DISP=(,CATLG,DELETE),                              
//             UNIT=XXXX,VOL=SER=YYYYYY,                          
//             SPACE=(CYL,(NNN,NN),RLSE)                          
//SYSIN    DD   *                                                
UNLOAD HISTDELALL                                                
/*                                                                
//                                                                

c) On the receiving end, create a new Deliver database:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_NEW'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                          
//SYSIN    DD   *                                                
ADDDS UNIT=3390 CYLINDER=nnn BLKSIZE=13904 VOLSER=XXXXXX  
MAKECKPT UNIT=3390 CYLINDER=100 VOLSER=XXXXXX EMPTY         
/*
//

d) Still on the receiving end, load the sending database contents to the new database:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_NEW'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                          
//RMOLOAD  DD  DISP=SHR,DSN=XXXXXX.XXXXXX.RMOUNLD            
//SYSPRINT DD  SYSOUT=*                                          
//SYSIN    DD   *                                                
LOAD HISTDEL                                                      
/*                                                                
//                                                       

e) To add database elements from another database on the receiving end, shut down all activities on the database using "/F rmostc,OFF".

f) Run a backup of the database, using RMODBASE UNLOAD:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_CURRENT'  <=== MODIFY DB NAME
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                          
//RMOUNLD  DD  DSN=XXXXXX.XXXXXX.RMOUNL2,                        
//             DISP=(,CATLG,DELETE),                              
//             UNIT=XXXX,VOL=SER=YYYYYY,                          
//             SPACE=(CYL,(NNN,NN),RLSE)                          
//SYSIN    DD   *                                                
UNLOAD HISTDELALL                                                
/*                                                                
//                                                                

g) Run RMOUTIL, to move the entries in the current database to the new database:

//XXXXXXXX JOB ...                                                
//RMOUTIL1 EXEC PGM=RMOUTIL                                      
//STEPLIB  DD DISP=SHR,DSN=DLVR.CVDELOAD  <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                          
//SYSIN    DD  *                                                  
/NAME FROM=DLVR_CURRENT                                      
            TO=DLVR_NEW                                      
/COPY BID=*                                                      
/COPY DID=*                                                      
/COPY JOB=*                                                      
/COPY RID=*                                                      
/*                                                                
//  

h) Rename the current database to another database:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_CURRENT'  <=== MODIFY DB NAME 
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                           
//SYSIN    DD   *                                                 
RENAME DLVR_OTHER                                                  
/*                                                                
//           

i) Rename the new database to the current database:

//XXXXXXXX JOB ...                                                
//RMODBASE EXEC PGM=RMODBASE,PARM='DLVR_NEW'  <=== MODIFY DB NAME 
//STEPLIB  DD  DISP=SHR,DSN=DLVR.CVDELOAD     <=== MODIFY, IF USED
//SYSPRINT DD  SYSOUT=*                                           
//SYSIN    DD   *                                                 
RENAME DLVR_CURRENT                                               
/*                                                                
//           

j) Start RMOSTC for the current database.