Adjusting OSAM database buffers dynamically

To adjust OSAM database buffers while IMS resources are still actively in use, specify new OSAM subpool definitions in the DFSDFxxx member of the IMS PROCLIB data set, and then issue the appropriate UPDATE POOL TYPE(DBAS) command.

Prerequisites: Make sure the following conditions exist:
  • The current number or size of OSAM buffer pools is either insufficient or not needed for workload processing for application programs.
  • The DFSDFxxx member of the IMS PROCLIB data set exists.
  • IMS is configured with at least a minimal Common Service Layer (to support issuing type-2 commands).

Procedure

  1. Update the DFSDFxxx member of the IMS PROCLIB data set with an IOBF statement. Complete one or more of the following steps:
    • Change the number of buffers for an existing OSAM subpool.

      When changing the number of buffers for an existing OSAM subpool, the values for bufnum, fix1, and fix2 can be changed.

    • Create an OSAM subpool with a new subpool ID.

      Add an IOBF statement with a value for the id parameter that does not exist.

      A subpool can be created with a buffer size which already exists. It would be considered a duplicate subpool and would have to be defined with a unique subpool ID. A database data set must be closed and then re-opened in order for a different subpool to be assigned.

      If the buffer size is the same as an existing subpool and a unique subpool ID is not assigned, you are in effect changing the definitions for an existing subpool.

    • Add a new set of buffers to an existing subpool.

      Add an IOBF statement with the subpool ID that you want to add the new set of buffers to.

      The new values in the IOBF statement do not replace the values that were previously set.

      For example, specifying a different bufsize value does not change the size of the buffers in the subpool. It adds a new set of buffers with a different buffer size to the existing subpool. The effect of specifying a different bufsize value with an existing subpool ID is to increase the overall size of buffers in the subpool.

    • Delete an OSAM subpool by setting bufnum to 0.
    The format of the IOBF statement:
    IOBF=(bufsize,bufnum,fix1,fix2,id,co)
  2. Issue the following command:
    UPD POOL TYPE(DBAS) SECTION(OSAMxxx) MEMBER(xxx)

If the procedure is performed successfully, the IMS system quiesces activities against the target subpools during reconfiguration.

If you specified a number of buffers that is unchanged from the number of buffers in the existing OSAM subpool, the request to update the OSAM subpool is ignored (as if the request was never made).

Determine whether the updated database buffer pools configuration is adequate for your workloads:
  1. Issue the following command:
    QUERY POOL TYPE(DBAS) SUBTYPE(OSAM,VSAM) SIZE() POOLID() SHOW(STATISTICS)
    The IMS system returns statistics about the OSAM and VSAM buffer pools.
  2. Based on the returned statistics, evaluate whether there must be further adjustments to the configuration of OSAM buffer pools.