Skip to content

Bind Db2 Plan and Package and Grant access

If you only intend to use the core functionality of the plan/package bind automation, you need only customize and run the DB2CORE sample JCL member (on each lpar and foreach Db2 subsystem that could be the target of a promotion or install action). You can then skip straight to the next section Update Global Administration. Otherwise, follow the instructions below.

Member DB2OPTN in the CNTL dataset should be copied to your CUSTOM library and edited to define the tables required in Db2, to bind the Packages and the Plan used by the Db2 option, and grants the minimum permissions required by the Db2 option.

If you are going to use remote Db2, then the CMNDB2VB package must be bound with the relevant qualifier at both the local and all potential remote DB2s. In addition, at the local DB2, the CMNPLAN plan must be bound with a package list including all the locations of all the remote DB2s where the CMNDB2VB package may be used.

Refer to the comments in the JCL for details.


Do not change the delivered names except to code the embedded subsystem. Program CMNDB2SQ issues an internal SET CURRENT PACKAGESET CMNx command that determines which DBRM is used for the ChangeMan ZMF instance that is issuing the command.


Do not change the name of the plan.

For each remote site, copy the DB2OPTNR member and follow its instructions to bind the CMNDBSQ package into the CMNPLAN for use by the automatic bind processing (CMNDB2PL) at each remote site (promotion and install). Note that there is an extra section not run at the end - the last two steps, BINDPKG and BINDPLAN are not reached as there is a // null line after the GRANT step (look for "end of Job" comment). These two steps are there as examples should you wish to use BIND DEPLOY from two source subsystems - see the comments in the JCL.


If you are upgrading from 8.1 or earlier, you will need to copy the member

DB2OPTNC and customize per the notes within, in order to perform the conversion of the SQL package master data into the tables in Db2. This job must be run after the DB2OPTN jobs has been run and has defined the tables.


  • The subsystem ID embedded in the Db2 package name makes the name unique for each ChangeMan ZMF instance in a Db2 subsystem.

  • All ChangeMan ZMF Db2 programs are precompiled with VERSION(AUTO) so you can have multiple versions of the package in the Db2 catalog.

  • Program CMNDB2SQ executes SQL that accesses the Db2 catalog. You can optimize the SQL that queries the SYSDBRM and SYSPACKAGE catalog tables by creating an index on both tables on the NAME column. If you choose to create the indexes, be sure to rebind the CMNDB2SQ package following the index creation.

  • The collection id for the CMNDB2AT package must always be CMNZMF.

  • The sample JCL members create tablespaces as UTS-Partition By Growth (UTS-PBG) with a MAXPARTITIONS value of 1. The default values for DSSIZE are sufficient for the tablespaces hosting the ZMF Db2 option admin tables. However, the final decision on the values you use should rest with your database administrators and be in compliance with your site standards.