Modifying block or CI sizes with HALDB alter
If you are increasing the size of a segment when you are altering an online HALDB database, you might also need to increase the OSAM block size or VSAM CI size of the output database data set that holds the altered segment.
New block or CI sizes are applied to the output data sets at the start of alter processing, but must be stored in the RECON data set before the INIT OLREORG OPTION(ALTER) command is issued.
New block or CI sizes are stored in the RECON by specifying them on the ALTERSZE keyword of the CHANGE.PART command.
For VSAM data sets, if output data sets for alter processing exist, the output data sets that require a new CI size must be deleted before initiating the alter process. Alter processing automatically re-creates the required output data sets with the new CI sizes, unless you create them yourself. If you create the output data sets yourself, the CI sizes must match their corresponding ALTERSZE values. If no ALTERSZE value is specified for a given VSAM data set group and an output data set exists, the CI size of the output data set is used. If no ALTERSZE value is specified and an output data set does not exist, the CI size of the input data set is used.
For OSAM data sets, if no ALTERSZE value is set, the block size of the input data set is used, even if an output data set exists.
When you change a block or CI size, you might also need to change the size of the buffers. If the new block or CI size does not fit into the current buffer subpool, IMS tries to find a larger subpool among the available subpools. If none of the available subpools are large enough to hold the new block or CI size, the output data set fails to open. To check buffer sizes, issue the type-2 command QUERY POOL TYPE(DBAS).