There is a great deal of detailed documentation on the new (as of 16.0 SP4) REORG utility. To fully understand what the utility does and how to use it, clients should take the time to carefully read sections CREATE DSMODEL and REORG of the IDMS Utilities manual.
This document contains a very brief description of the utility and provides sample JCL that was used to expand a dictionary DDLDML area from 5000 to 7000 pages.
IDMS: All supported releases.
The REORG utility unloads and reloads a CA IDMS database using parallel processing to reduce the amount of time it takes to reorganize data. In order to enable parallel operations, the utility divides the source and target databases into slices and groups of system-owned indexes. Each slice or index group can be processed (unloaded and reloaded) in parallel by concurrently executing jobs.
In this example, the utility is told to divide the DDLDML area into 4 slices.
This example also makes use of the CREATE DSMODEL utility statement that provides characteristics for dynamic allocation of the intermediate work files that are passed from one step to the next during the REORG.
For this example, the DMCL contains all database file DSN definitions so the only database DD/DSN in this example is the override for the new, larger database in the RELOAD step of the JCL. In addition to the JCL that you submit, the utility will dynamically submit jobs as needed using JCL that it will read from a dataset specified in your submitted JCL.
Please note that in this case, the UNLOAD and RELOAD steps read the JCL from a different member, due to the fact that the RELOAD JCL must specify the DSN override for the new file.
This REORG job was run with CV down. If CV is up, you must first vary all affected areas to Retrieval or Offline. Keep in mind that the procedure described here is one way to do this. It is the method that was used by CA IDMS Level 1 tech support to expand one of their dictionary areas.
Steps taken to expand APPLDICT.DDLDML from 5000 to 7000 pages using REORG:
NOTE: Determining sizes for intermediate work files is difficult for a number of reasons and will not be discussed in this document. For more information on this subject, go to the REORG documentation page and scroll down to Sizing work files.
The main JCL submitted to expand the APPLDICT.DDLDML area:
//*------------------------------------------------------------------ //* UNLOAD THE DATABASE USING REORG //*------------------------------------------------------------------ //REOGUNLD EXEC PGM=IDMSBCF,REGION=0M //STEPLIB DD DSN=YOUR.DBA.LOADLIB,DISP=SHR
// DD DSN=YOUR.CUSTOM.LOADLIB,DISP=SHR // DD DSN=YOUR.CAGJLOAD,DISP=SHR //RORGCTL DD DISP=SHR,DSN=YOUR.PREFIX.RORGCTL //RORGJCL DD DISP=SHR,DSN= YOUR.PREFIX.JCLLIB(RORGUJCL) //SYSJRNL DD DUMMY //SYSIDMS DD * DMCL=R160DMCL DICTNAME=SYSDICT /* //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSLST DD SYSOUT=* //SYSIPT DD * CREATE DSMODEL W* DSN ' YOUR.PREFIX .&DD' UNIT SYSDA SPACE TRK(100,100) BLKSIZE 12004 ; REORG SEGMENT APPLDICT USING IDMSNWKU AREA DDLDML RELOAD INTO APPLDICT USING IDMSNWKU DMCL R160RELD DIVIDE PROCESSING 4 WAYS REUSE WORKFILES AS SORTEXIT STOP AFTER UNLOAD CREATE ALL WORKFILES SHARE NOTIFY 10 ; /* //*------------------------------------------------------------------ //* RELOAD THE DATABASE USING REORG //*------------------------------------------------------------------ //REOGRELD EXEC PGM=IDMSBCF,REGION=0M //STEPLIB DD DSN=YOUR.DBA.LOADLIB,DISP=SHR
// DD DSN=YOUR.CUSTOM.LOADLIB,DISP=SHR
// DD DSN=YOUR.CAGJLOAD,DISP=SHR //RORGCTL DD DISP=SHR,DSN= YOUR.PREFIX .RORGCTL //RORGJCL DD DISP=SHR,DSN= YOUR.PREFIX .JCLLIB(RORGRJCL) //DICTDB DD DISP=SHR,DSN= YOUR.PREFIX.DDLDML.NEW //SYSJRNL DD DUMMY //SYSIDMS DD * DMCL=R160RELD DICTNAME=SYSDICT /* //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSLST DD SYSOUT=* //SYSIPT DD * CREATE DSMODEL W* DSN YOUR.PREFIX.&DD' UNIT SYSDA SPACE TRK(100,100) BLKSIZE 12004 ; REORG SUBMIT STOP AFTER CLEANUP; /*
Contents of the file defined by the main JCL statement
RORGJCL DD DISP=SHR,DSN= YOUR.PREFIX.JCLLIB(RORGUJCL)
//REOG JOB Job acct info,etc //REOGSTEP EXEC PGM=IDMSBCF,REGION=0M //STEPLIB DD DSN=YOUR.DBA.LOADLIB,DISP=SHR
// DD DSN=YOUR.CUSTOM.LOADLIB,DISP=SHR
// DD DSN=YOUR.CAGJLOAD,DISP=SHR //RORGCTL DD DISP=SHR,DSN= YOUR.PREFIX. RORGCTL //SYSJRNL DD DUMMY //SYSIDMS DD * DMCL=R160DMCL DICTNAME=SYSDICT /* //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSLST DD SYSOUT=* //SYSIPT DD * REORG
Contents of the file defined by the main JCL statement
RORGJCL DD DISP=SHR,DSN= YOUR.PREFIX.JCLLIB(RORGRJCL)
(Note that this JCL has the override for the new DDLDML file.)
//REOG JOB Job acct info,etc //REOGSTEP EXEC PGM=IDMSBCF,REGION=0M //STEPLIB DD DSN=YOUR.DBA.LOADLIB,DISP=SHR
// DD DSN=YOUR.CUSTOM.LOADLIB,DISP=SHR
// DD DSN=YOUR.CAGJLOAD,DISP=SHR //RORGCTL DD DISP=SHR,DSN= YOUR.PREFIX. RORGCTL //DICTDB DD DISP=SHR,DSN=YOUR.PREFIX.DDLDML.NEW //SYSJRNL DD DUMMY //SYSIDMS DD * DMCL=R160RELD DICTNAME=SYSDICT /* //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSLST DD SYSOUT=* //SYSIPT DD * REORG
Carefully read sections CREATE DSMODEL and REORG of the IDMS Utilities manual.