The BSDS conversion utility (CSQJUCNV) on z/OS

We can use the CSQJUCNV BSDS conversion utility to convert a version 1 bootstrap data set (BSDS) to version 2. CSQJUCNV runs as a batch job.

A version 1 BSDS supports 6 byte log RBA (Relative Byte Address) values. A version 2 BSDS can be used by queue managers running IBM MQ Version 8.0, and supports 8 byte log RBA values. For more information about the change from 6 byte to 8 byte log RBA, see Larger log Relative Byte Address.

A version 2 BSDS can be used only by queue managers that have Version 8.0 new functions enabled with OPMODE. If the queue manager is in a queue sharing group, all queue managers in the queue sharing group must either have been started with OPMODE=(NEWFUNC,800), or OPMODE=(NEWFUNC,900), or added into the queue sharing group at Version 8.0 or Version 9.0, before the BSDS can be converted to version 2.

If the parameters provided specify that the queue manager is in a queue sharing group, the utility checks that the queue managers are at the correct level, before allowing the conversion of the BSDS to proceed. For queue managers that are not in a queue sharing group,the utility does not check that the queue manager has been started in Version 8.0 new function mode.

The converted BSDSs are written to new data sets. These new data sets must be allocated with similar attributes to the current BSDS before the utility is run, and must be empty. A version 2 BSDS contains more data than a version 1 BSDS, therefore, you must ensure that the new data sets are allocated with sufficient available space. See Plan the logging environment, and the associated topics, for the recommended values when defining a new BSDS.

The current BSDSs are not modified and can be used to start the queue manager, should the attempt to convert the BSDSs and restart the queue manager with the new BSDS be unsuccessful.

Important:
  1. Only run this utility when the queue manager that owns the BSDS is stopped.
  2. Do not attempt to start the queue manager with the new BSDS until the utility has completed successfully. If a queue manager is started with a BSDS that is the output of an unsuccessful or incomplete conversion, it terminates with reason code 00D10121.
  3. To use this utility, your user ID of the job must have read and write access to both the old and new BSDSs.


Invoking the CSQJUCNV utility

The utility runs as a z/OS® batch program. Figure 1 shows an example of the JCL used to invoke the CSQJUCNV utility for a queue manager that is a member of a queue sharing group.

Figure 1. Sample JCL to invoke the CSQJUCNV utility
//CONVERT EXEC PGM=CSQJUCNV,REGION=32M,
//             PARM=('INQSG,qsgname,dsgname,db2ssid')
//STEPLIB  DD DSN=thlqual.SCSQAUTH,DISP=SHR
//         DD DSN=thlqual.SCSQANLE,DISP=SHR
//         DD DSN=db2qual.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=hlq.BSDS01,DISP=SHR
//SYSUT2   DD DSN=hlq.BSDS02,DISP=SHR
//SYSUT3   DD DSN=newhlq.BSDS01,DISP=OLD
//SYSUT4   DD DSN=newhlq.BSDS02,DISP=OLD
Sample JCL to run the utility is also provided in thlqual.SCSQPROC(CSQ4BCNV).


Syntax, keywords, and parameters

BSDS conversion utility

PARM=(' INQSG,qsgname,dsgname,db2ssidNOQSG')

    PARM
    This field must contain one of the following parameters to indicate whether the queue manager is a member of a queue sharing group or not, followed by any function-specific parameters described in the following text:

      INQSG

      The queue manager that owns the BSDS is a member of a queue sharing group. Specifying this parameter causes the utility to verify that all members of the queue sharing group have either been started with OPMODE=(NEWFUNC,800),or OPMODE=(NEWFUNC,900), or been added into the queue sharing group at Version 8.0 or Version 9.0.

      See Implementing the larger log Relative Byte Address for details on how you perform this task.

      The utility terminates with a nonzero reason code, without writing anything to the output BSDS, if this condition is not met.

        qsgname
        The queue sharing group name

        dsgname
        The Db2® data-sharing group name

        db2ssid
        The Db2 subsystem ID

      NOQSG
      The queue manager that owns the BSDS is not a member of a queue sharing group. The BSDS is converted, regardless of whether the queue manager has been started with Version 8.0 new functions enabled. Attention: Do not specify this parameter for a queue manager that is a member of a queue sharing group.


Data definition (DD) statements

CSQJUCNV recognizes DD statements with the following DD names:

    SYSUT1
    Specifies the old BSDS that is to be converted. This statement is required.

    SYSUT2
    Specifies the second copy of the old BSDS that is to be converted. If you are using dual BSDS, you should specify this.

    SYSUT3
    Specifies the new, converted BSDS. This statement is required.

    SYSUT4
    Specifies the second copy of the converted BSDS. This statement is required if the installation uses dual BSDSs; otherwise, it is optional.

    SYSPRINT
    Contains the output messages from the conversion utility. This statement is required.