Changing the size of the group buffer pool

You can use two methods to change the size of the group buffer pool.

The method you choose depends on what level of coupling facility the group buffer pool is allocated and whether the group buffer pool is already allocated at the maximum size. For a duplexed group buffer pool, you are changing the size of both the primary and secondary structure with a single command.

Dynamic method

Check whether both of the following conditions are true.

  • The group buffer pool is allocated in a coupling facility with CFLEVEL greater than zero.
  • The currently allocated size of the structure is less than the maximum size as defined in the SIZE parameter of the CFRM policy.
If they are, you can enter the following command (this example assumes the group name is DSNDB0A):
SETXCF START,ALTER,STRNAME=DSNDB0A_GBPn,SIZE=newsize

This example assumes that newsize is less than or equal to the maximum size that is defined by the CFRM policy for the group buffer pool.

If the maximum size (SIZE in the CFRM policy) is still not big enough, you must use the method described below in Static Method.

Assume a DISPLAY GROUPBUFFERPOOL command produced the following output:

Begin general-use programming interface information.
⋮
DSNB757I -DB1A MVS CFRM POLICY STATUS FOR DSNDB0A_GBP1 = NORMAL
             MAX SIZE INDICATED IN POLICY              = 4096 KB
             ALLOCATED                                 = YES
DSNB758I -DB1A ALLOCATED SIZE                          = 1024 KB
               VOLATILITY STATUS                       = VOLATILE
               REBUILD STATUS                          = NONE
               DUPLEXING STATUS                        = SIMPLEXED
               CFNAME                                  = LF01
               OPERATIONAL CFLEVEL                     = 5
               ACTUAL CFLEVEL                          = 7
DSNB759I -DB1A NUMBER OF DIRECTORY ENTRIES             = 924
               NUMBER OF DATA PAGES                    = 180
               NUMBER OF CONNECTIONS                   = 2
⋮
End general-use programming interface information.
Then you enter the following z/OS® command to increase the size:
SETXCF START,ALTER,STRNM=DSNDB0A_GBP1,SIZE=1536

The DISPLAY GROUPBUFFERPOOL command output might look similar to the following after you alter the size:

Begin general-use programming interface information.
⋮
DSNB757I -DB1A MVS CFRM POLICY STATUS FOR DSNDB0A_GBP1 = NORMAL
             MAX SIZE INDICATED IN POLICY              = 4096 KB
             ALLOCATED                                 = YES
DSNB758I -DB1A ALLOCATED SIZE                          = 1536 KB
               VOLATILITY STATUS                       = VOLATILE
               REBUILD STATUS                          = NONE
               DUPLEXING STATUS                        = SIMPLEXED
               CFNAME                                  = LF01 
               OPERATIONAL CFLEVEL                     = 5
               ACTUAL CFLEVEL                          = 7
DSNB759I -DB1A NUMBER OF DIRECTORY ENTRIES             = 1426
               NUMBER OF DATA PAGES                    = 284
               NUMBER OF CONNECTIONS                   = 2
⋮
End general-use programming interface information.

Notice that the allocated size, the numbers of directory entries, and the number of data pages has increased. The existing ratio is maintained.

Static method

If any of these conditions are true, you must use the following procedure.

  • The group buffer pool is allocated in a coupling facility at CFLEVEL=0.
  • The allocated size of the structure is already at the maximum size defined by the SIZE parameter of the CFRM policy.

Because the group buffer pool must be rebuilt, you need to follow this procedure when there is little activity in the group.

  1. Increase the storage for the group buffer pool in the CFRM policy, and use DUPLEX(ALLOWED).
  2. Run the following z/OS command to start the updated policy:
    SETXCF START,POLICY,TYPE=CFRM,POLNAME=policyname
  3. Run the following command to stop duplexing:
    SETXCF STOP,REBUILD,DUPLEX,STRNAME=strname,KEEP=OLD
  4. Run the following command to rebuild the group buffer pool:
    SETXCF START,REBUILD,STRNAME=strname
  5. Run the following command to start duplexing:
    SETXCF START,REBUILD,DUPLEX,STRNAME=strname
  6. Change the CFRM policy DUPLEX(ALLOWED) to DUPLEX(ENABLED).
  7. Run the following z/OS command to start the updated policy:
    SETXCF START,POLICY,TYPE=CFRM,POLNAME=policyname
  8. Run the DISPLAY GROUPBUFFERPOOL command to verify that DUPLEX(ENABLED) is in effect.

    If the policy change is still pending, you do not need to rebuild again. Because the current duplexing mode is already DUPLEX, the pending change takes effect on the next rebuild.