Space announcement

   

This space provides the same content as before, but the organization of the home page has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

Modifying DSRSEXIT variables

REORG PLUS calls the DSRSEXIT user exit for each Db2 object before deleting or redefining that object.

REORG PLUS obtains information about the object from the Db2 and VSAM catalogs and passes this information to the exit in REXX variables.

In the exit, you can examine the returned values and change certain variables. When control is returned to REORG PLUS, REORG PLUS uses the values that you set. You can change variables to accomplish the following tasks:

Modifying the variables for resizing the data sets

You can use the information in the variables to help you determine the primary and secondary quantities to allocate. Because Db2 stores the primary and secondary values in 4-KB pages in its catalog, the values passed to the exit represent 4-KB pages. To modify the variables BMC_PRIMARY_QUANTITY or BMC_SECONDARY_QUANTITY within the exit, set the quantity to the number of 4-KB pages that you want allocated. REORG PLUS uses the values that you set when it redefines the DB2 VSAM data sets.

REORG PLUS also issues an SQL ALTER TABLESPACE or ALTER INDEX statement to update the Db2 catalog with the modified primary and secondary quantities unless you set the variable BMC_ALTER_DB2_CATALOG to NO. The Db2 catalog tables that REORG PLUS updates are SYSIBM.SYSTABLEPART and SYSIBM.SYSINDEXPART.

Important

If you are reorganizing a partition-by-growth table space, REORG PLUS does not issue the ALTER statement to update the Db2 catalog.

If you use the default of YES for the BMC_ALTER_DB2 _CATALOG variable to have REORG PLUS update the Db2 catalog, you will also need the following authorities:

  • For the ALTER TABLESPACE statement, you will need one of the following authorities:

    • Ownership of the table space

    • DBADM authority for its database

    • SYSADM or SYSCTRL authority

  • For the ALTER INDEX statement, you will need one of the following authorities:

    • Ownership of the index

    • Ownership of the table on which the index is defined

    • DBADM authority for the database that contains the table

    • SYSADM or SYSCTRL authority 

Modifying the variable for selective REDEFINE

If you do not want REORG PLUS to perform VSAM DELETE/DEFINE processing for a particular object, set BMC_REDEFINE_OBJECT to NO. Bypassing this processing significantly improves performance and can be especially useful in an SAP environment, where many indexes exist but most of them have not grown.

If you use the DSRSEXIT user exit to alter the primary or secondary quantity for an object and also set BMC_REDEFINE_OBJECT to NO, REORG PLUS ignores the REDEFINE NO request and issues message BMC50307I.

If you set BMC_REDEFINE_OBJECT to NO for a staging data set, you must have predefined the data set. Otherwise, REORG PLUS terminates the job. 

Modifying the variables for the storage group volumes

When the DSRSEXIT gets control, the variable BMC_STOGROUP_VOLUME.0 contains the number of volumes in the storage group (and therefore the number of stem variables containing volume names). The stem variables BMC_STOGROUP_VOLUME.1 through n contain the volume names in the order that Db2 returns them from SYSIBM.SYSVOLUMES. You can change this order by assigning new values to the list of stem variables. Any changes that you make to the storage group order are in effect only for the current object.

You can reorder and return the entire original list or any subset of the list, but you cannot add any volume that is not in the original storage group list. If you add a volume name that is not in the original list, REORG PLUS terminates the job.

To change the volume order, set the following variables as follows:

  • Set the BMC_REORDER_STOGROUP_VOLUMES variable to YES.

    If you do not set this variable to YES, REORG PLUS will ignore any changes that you make to the original volume list.

  • Set a stem variable BMC_STOGROUP_VOLUME.n to the name of a storage group volume.

    You will have one BMC_STOGROUP_VOLUME.n variable for each volume in your list, incrementing n for each volume.

Example

For example, suppose REORG PLUS returned these volumes in the original storage group list:

  • BMC_STOGROUP_VOLUME.0=5

  • BMC_STOGROUP_VOLUME.1=BMC001

  • BMC_STOGROUP_VOLUME.2=BMC002

  • BMC_STOGROUP_VOLUME.3=BMC003

  • BMC_STOGROUP_VOLUME.4=BMC004

  • BMC_STOGROUP_VOLUME.5=BMC005

To have REORG PLUS allocate the data sets on volume BMC005 first, and then BMC004, followed by BMC001, BMC003, and BMC002, you would leave the stem variable BMC_STOGROUP_VOLUME.0 set to 5 and change the values in the remaining stem variables as follows:

  • BMC_STOGROUP_VOLUME.1=BMC005

  • BMC_STOGROUP_VOLUME.2=BMC004

  • BMC_STOGROUP_VOLUME.3=BMC001

  • BMC_STOGROUP_VOLUME.4=BMC003

  • BMC_STOGROUP_VOLUME.5=BMC002

To use a subset of the original volume list, set the stem variable BMC_STOGROUP_VOLUME.0 to the number of volumes that you want REORG PLUS to consider. (The maximum value for this stem variable is the total number of volumes in the STOGROUP.)

To use volumes BMC002, BMC003, and BMC004 (a subset of the volumes listed in the preceding example), you would change the values in the stem variables as follows:

  • BMC_STOGROUP_VOLUME.0=3

  • BMC_STOGROUP_VOLUME.1=BMC002

  • BMC_STOGROUP_VOLUME.2=BMC003

  • BMC_STOGROUP_VOLUME.3=BMC004

Was this page helpful? Yes No Submitting... Thank you

Comments