Customize the initialization input data sets
Make working copies of the sample initialization input data sets and tailor them to suit the system requirements.
- Repeat this task for each IBM MQ queue manager.
- We need to perform this task when migrating from a previous version.
Each IBM MQ queue manager gets its initial definitions from a series of commands contained in the IBM MQ initialization input data sets. These data sets are referenced by the DD names CSQINP1, CSQINP2 and CSQINPT defined in the queue manager started task procedure.
Responses to these commands are written to the initialization output data sets referenced by the DD names CSQOUT1, CSQOUT2 and CSQOUTT.
To preserve the originals, make working copies of each sample. Then we can tailor the commands in these working copies to suit the system requirements.
If we use more than one IBM MQ subsystem, if we include the subsystem name in the high-level qualifier of the initialization input data set name, we can identify the IBM MQ subsystem associated with each data set more easily.
Refer to the following topics for further information about the samples:- Initialization data set formats
- Use the CSQINP1 sample
- Use the CSQINP2 samples
- Use the CSQINPX sample
- Use the CSQINPT sample
Initialization data set formats
The initialization input data sets can be partitioned data set (PDS) members or sequential data sets. They can be a concatenated series of data sets. Define them with a record length of 80 bytes, where:- Only columns 1 through 72 are significant. Columns 73 through 80 are ignored.
- Records with an asterisk (*) in column 1 are interpreted as comments and are ignored.
- Blank records are ignored.
- Each command must start on a new record.
- A trailing - means continue from column 1 of the next record.
- A trailing + means continue from the first non-blank column of the next record.
- The maximum number of characters permitted in a command is 32 762.
The initialization output data sets are sequential data sets, with a record length of 125, a record format of VBA, and a block size of 629.
Use the CSQINP1 sample
Data set thlqual.SCSQPROC holds two members which contain definitions of buffer pools, page set to buffer pool associations, and an ALTER SECURITY command.
Member CSQ4INP1 uses one page set for each class of message. Member CSQ4INPR uses multiple page sets for the major classes of message.
Include the appropriate sample in the CSQINP1 concatenation of our queue manager started task procedure. Notes:- IBM MQ supports up to 100 buffer pools in the range zero through 99. The DEFINE BUFFPOOL command can only be issued from a CSQINP1 initialization data set. The definitions in the sample specify four buffer pools.
- Each page set used by the queue manager must be defined in the CSQINP1 initialization data set by using the DEFINE PSID command. The page set definition associates a buffer pool ID with a page set. If no buffer pool is specified, buffer pool zero is used by default.
Page set zero (00) must be defined. It contains all the object definitions. We can define up to 100 page sets for each queue manager.
- The ALTER SECURITY command can be used to alter the security attributes TIMEOUT and INTERVAL. In CSQ4INP1, the default values are defined as 54 for TIMEOUT and 12 for INTERVAL.
See the Plan on z/OS for information about organizing buffer pools and page sets.
If we change the buffer pool and page set definitions dynamically while the queue manager is running, we should also update the CSQINP1 definitions. The changes are only retained for a cold start of IBM MQ, unless the buffer pool definition includes the REPLACE attribute.
Use the CSQINP2 samples
This table lists the members of thlqual.SCSQPROC that can be included in the CSQINP2 concatenation of our queue manager started task procedure, with a description of their function. The naming convention is CSQ4INS*. CSQ4INY* will need to be modified for YOUR configuration. We should avoid changing CSQINS* members because we will need to reapply any changes when we migrate to the next release. Instead, we can put DEFINE or ALTER commands in CSQ4INY* members.
Member name | Description |
---|---|
CSQ4INSG | System object definitions. |
CSQ4INSA | System object and default rules for channel authentication. |
CSQ4INSX | System object definitions. |
CSQ4INSS | Customize and include this member if we are using queue sharing groups. |
CSQ4INSJ | Customize and include this member if we are using publish/subscribe using JMS. |
CSQ4INSM | System object definitions for Advanced Message Security. |
CSQ4INSR | Customize and include this member if we are using WebSphere Application Server, or the queued publish/subscribe interface supported by the queued publish/subscribe daemon in IBM MQ V7 or later. |
CSQ4DISP | CSQINP2 sample for displaying object definitions. |
CSQ4INYC | Clustering definitions. |
CSQ4INYD | Distributed queuing definitions. |
CSQ4INYG | General definitions. |
CSQ4INYR | Storage class definitions, using multiple page sets for the major classes of message. |
CSQ4INYS | Storage class definitions, using one page set for each class of message. |
CSQM095I +CSQ1 CSQMAQLC QLOCAL(SYSTEM.DEFAULT.LOCAL.QUEUE) ALREADY EXISTS CSQM090E +CSQ1 CSQMAQLC FAILURE REASON CODE X'00D44003' CSQ9023E +CSQ1 CSQMAQLC ' DEFINE QLOCAL' ABNORMAL COMPLETION
The objects are not damaged by this failure. To leave the SYSTEM definitions data set in the CSQINP2 concatenation, we can avoid the failure messages by specifying the REPLACE attribute against each object.
Use the CSQINPX sample
Sample thlqual.SCSQPROC(CSQ4INPX) contains a set of commands that you might want to execute each time the channel initiator starts. These are typically channel-related commands such as START LISTENER, which are required every time the channel initiator starts, rather than whenever the queue manager starts, and which are not allowed in the input data sets CSQINP1 or CSQINP2. We must customize this sample before use; we can then include it in the CSQINPX data set for the channel initiator.
The IBM MQ commands contained in the data set are executed at the end of channel initiator initialization, and output is written to the data set specified by the CSQOUTX DD statement. The output is like that produced by the COMMAND function of the IBM MQ utility program (CSQUTIL). See The CSQUTIL utility for more details.
We can specify any of the IBM MQ commands that can be issued from CSQUTIL, not only the channel commands. We can enter commands from other sources while CSQINPX is being processed. All commands are issued in sequence, regardless of the success of the previous command.
To specify a command response time, we can use the pseudo-command COMMAND as the first command in the data set. This takes a single optional keyword RESPTIME( nnn ), where nnn is the time, in seconds, to wait for a response to each command. This is in the range 5 through 999; the default is 30.
If IBM MQ detects that the responses to four commands have taken too long, processing of CSQINPX is stopped and no further commands are issued. The channel initiator is not stopped, but message CSQU052E is written to the CSQOUTX data set, and message CSQU013E is sent to the console.
When IBM MQ has completed processing of CSQINPX successfully, message CSQU012I is sent to the console.
Use the CSQINPT sample
This table lists the members of thlqual.SCSQPROC that can be included in the CSQINPT concatenation of our queue manager started task procedure, with a description of their function.
Member name | Description |
---|---|
CSQ4INST | System default subscription definition. |
CSQ4INYT | Publish/Subscribe definitions. |
The IBM MQ commands contained in the data set are executed when publish/subscribe initialization completes, and output is written to the data set specified by the CSQOUTT DD statement. The output is like that produced by the COMMAND function of the IBM MQ utility program (CSQUTIL). See The CSQUTIL utility for more details.
- The QMINI data set
We can use the QMINI dataset to specify properties that are to be read and processed during queue manager initialization.
Parent topic: Configure the queue manager and channel initiator
Related concepts