IMSDBU is a database management tool that offers a wide range of operational control. You can use it to initialize, load, unload and reorganize databases. You can tailor its operation to control file naming conventions, progress reporting, statistics, audit reports, and more.
IMSDBU runs as a standalone utility; a PSB is not required to use it. It operates on physical databases defined using the DBDGEN function. Because it runs outside of the Application Region, it can provide streamlined operation.
Several IMSDBU features help you to manage your IMS databases, including:
The compression exit is used for the input file to the Load and the output file for Unload. It allows for segment compression and/or encryption of the input or output files. It is not used for the data stored in the MFIMS database. A standard routine named CBLDCIMS is provided to decompress input and compress output files. A user-written program can perform different segment encoding. This exit is enabled using the COMPRESS directive.
The IMSDBUV sample program for unloading IMS/ESA databases can create compressed files for input to the IMSDBU Load and decompressed using the CBLDCIMS routine.
Details of these exits are documented in the sample file DBUPARMS.CPY, located in the $COBDIR/demo/Mainframe/IMS/Classic/Examples directory by default..
Logical database loading is further simplified by the use of the Makelist function. Makelist generates all of the required steps to load a complete set of logically related databases. You provide one DBD name and Makelist follows its relationships to create the set. From this, it generates a file for input to the Runlist function to execute the steps.
This special-purpose layout provides for simpler loading of the database. The physical characteristics of the file and data are stored in header and trailer records in the file. This includes items such as the placement of the segment name, segment data, and compression options. Loading a database with this format is as easy as naming the input file and using the LAYOUT(D) directive. For reference, the IMSDBU layout file is a variable length file to reduce storage requirements and file transfer times.
IMSDBU also supports a special purpose IBM layout. This is specified using the LAYOUT(I) directive and supports input files created using IMS/ESA DB Unload Utilities such as DFSURGU0. This layout sets the directive values SEGM(7), DATA(36), RECFM(V) and NOCOMPRESS. This layout honors delete byte settings in the input file and directs IMSDBU to skip over segments marked as deleted.
IMSDBU supports sequential input files using the LAYOUT(S) directive. This enables you to load an IMS database from an input file produced from COBOL program.
IMSDBU supports generic layouts for the input load files using the LAYOUT(G) directive. The generic layout must contain the segment name and segment data in the same position of each record. It can be a fixed or variable length segment. A SEGM directive indicates the position of the segment name in the record area. A DATA directive indicates the starting position of the segment data. The segments in the file must be in hierarchical order, but do not have to be in key sequence.