Creating the database data sets of the IMS catalog manually

To define and create the IMS catalog database data sets yourself, you can use JCL and IDCAMS commands.

When the IMS management of ACBs is enabled, the IMS catalog uses additional system data sets. These data sets are considered extensions of the IMS catalog and include the IMS directory data sets, an IMS directory staging data set, and an IMS directory bootstrap data set. IMS creates these system data sets automatically the first time you load ACBs into the IMS catalog when the IMS management of ACBs is enabled.

HALDB databases use a data set naming convention that requires specific suffixes on the data set names. For example, A00001, X00001, and so on. You must use these suffixes as shown in the examples subsequently.

The IMS catalog is a full-function database type (ACCESS=PHIDAM,OSAM) and supports either OSAM Physical Sequential data sets or VSAM Linear data sets.

Procedure

  1. Delete any existing catalog datasets.
    See the following example. In this example, the DSNPREFX=IMS.
      //SCRATCH  EXEC PGM=IDCAMS,DYNAMNBR=200                                
    //SYSPRINT DD SYSOUT=*                                                 
    //SYSIN    DD *                                                        
        DELETE IMS.CATDEF           PURGE                              
        DELETE IMS.DFSCD000.A00001  PURGE                              
        DELETE IMS.DFSCD000.B00001  PURGE                              
        DELETE IMS.DFSCD000.C00001  PURGE
        DELETE IMS.DFSCD000.D00001  PURGE
        DELETE IMS.DFSCD000.L00001  PURGE
        DELETE IMS.DFSCD000.X00001  PURGE
        DELETE IMS.DFSCX000.A00001  PURGE
        SET MAXCC=0   
  2. Create the partition data sets.
    See the following example. In this example, the DSNPREFX=IMS.
      //DFSC001A DD  DSN=IMS.DFSCD000.A00001,DISP=(NEW,CATLG),
      //             SPACE=(CYL,(primary,secondary)), 
      //             UNIT=name,VOL=SER=volser
      //DFSC001B DD  DSN=IMS.DFSCD000.B00001,DISP=(NEW,CATLG),
      //             SPACE=(CYL,(primary,secondary)), 
      //             UNIT=name,VOL=SER=volser
      //DFSC001C DD  DSN=IMS.DFSCD000.C00001,DISP=(NEW,CATLG),
      //             SPACE=(CYL,(primary,secondary)), 
      //             UNIT=name,VOL=SER=volser
      //DFSC001D DD  DSN=IMS.DFSCD000.D00001,DISP=(NEW,CATLG),
      //             SPACE=(CYL,(primary,secondary)), 
      //             UNIT=name,VOL=SER=volser
    
  3. Create the primary index data set, the ILDS data set, and the secondary index data set by using the following IDCAMS commands.
    See the following example. In this example, the DSNPREFX=dsnprefix.
    /* PRIMARY INDEX DATA SET          */ 
      
      DEFINE  CLUSTER ( -                              
                NAME (dsnprefix.DFSCD000.X00001) -     
                CYL(primary,secondary) -                
                REUSE -                                
                VOL(volser) -                          
                FREESPACE(80,10) -                     
                SHAREOPTIONS(3,3) -                    
                SPEED ) -                              
              DATA ( -                                 
                NAME(dsnprefix.DFSCD000.X00001.DATA) -
                CISZ(512) -                            
                KEYS(16,5) -                           
                RECORDSIZE(22,22) ) -                  
              INDEX ( -                                
                NAME(dsnprefix.DFSCD000.X00001.INDEX) -
                CISZ(2048) )
     
    /* INDIRECT LIST DATA SET                    */ 
                                                      
      DEFINE  CLUSTER ( -                              
                NAME (dsnprefix.DFSCD000.L00001) -     
                CYL(primary,secondary) -               
                REUSE -                                
                VOL(volser) -                          
                FREESPACE(80,10) -                     
                SHAREOPTIONS(3,3) -                    
                SPEED ) -                              
              DATA ( -                                 
                NAME(dsnprefix.DFSCD000.L00001.DATA) - 
                CISZ(512) -                            
                KEYS(9,0) -                            
                RECORDSIZE(50,50) ) -                  
              INDEX ( -                                
                NAME(dsnprefix.DFSCD000.L00001.INDEX) -
                CISZ(2048) )
     
    /* SECONDARY INDEX DATA SET                */
    
      DEFINE  CLUSTER ( -  
                NAME(dsnprefix.DFSCX000.A00001) - 
                CYL(primary,secondary) -
                REUSE -
                VOL(volser) -
                INDEXED -
                KEYS(37,45) -
                RECORDSIZE(82,82) -
                FREESPACE(80,10) -
                SHAREOPTIONS(3,3) -
                SPEED ) -
              DATA (CISZ(4096) )