Adjusting VSAM database buffers dynamically

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

Make sure that the following conditions exist:
  • The current number or size of VSAM shared resource 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. Do one or more of the following:
    • Change the number of buffers for an existing VSAM subpool.
      Define the DFSDFxxx member with a POOLID, which identifies the VSAM shared resource pool the subpool belongs to, followed by a VSRBF statement. For example:
      POOLID=(id,VSRBF=bufsize,bufnum)
      Set bufnum to a different value, indicating that the subpool with the specified buffer size is to change in the number of buffers.
    • Create a subpool for an existing VSAM shared resource pool.
      Update the DFSDFxxx member with a POOLID, which identifies the VSAM shared resource pool the subpool belongs to, followed by a VSRBF statement. For example:
      POOLID=(id,VSRBF=bufsize,bufnum,type,HSO,HSR,HSn)
    • Delete a subpool from an existing VSAM shared resource pool.
      In the POOLID statement in the DFSDFxxx member, set bufnum to 0, indicating that the subpool with the specified buffer size is to be removed. For example:
      POOLID=(id,VSRBF=bufsize,0)
    • Change the size of the buffers in a VSAM subpool.

      Create a subpool with a different buffer size than the current subpool, and then delete the current subpool.

    • Create a VSAM shared resource pool.
      When adding a new VSAM shared resource pool, update the DFSDFxxx member with a POOLID statement, followed by one or more VSRBF subpool definition statements. For example:
      POOLID=id,Fixdata=,Fixindex,Fixblock,Stringnm=n
      VSRBF=bufsize,bufnum,type,HSO,HSR,HSn
  2. Issue the following command:
    UPD POOL TYPE(DBAS) SECTION(VSAMxxx) MEMBER(xxx)

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

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 VSAM buffer pools.
  2. Based on the returned statistics, evaluate whether there must be further adjustments to the configuration of VSAM buffer pools.