Activating Db2 12 function levels

You control the activation and adoption of new features in Db2 12 by activating function levels and specifying the application compatibility level. You can also continue to apply corrective and preventative service without adopting new feature function.

Before you begin

Restriction: Before you can run CATMAINT to tailor the Db2 catalog for function level 502 or higher, you must first activate function level 500 or 501. That is, the DISPLAY GROUP command output must indicate HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500) or higher. This restriction prevents tailoring the Db2 catalog for function levels higher than 500 while fallback to Db2 11 remains possible. However, later activating a lower function level such as function level 100* does not restrict the CATMAINT operation.

Ensure that no incompatible applications will interfere with the catalog update. For details, see Identifying applications that are incompatible with catalog updates.

Determine the function level to activate. In most cases, you can activate a higher function level without separately activating each lower function level above the currently activated function level. However, activating a higher function level also results in the activation of all lower function levels. Before activating a function level, familiarize yourself with the new capabilities and changes that all lower function levels introduce:

About this task

The ACTIVATE command controls the activation of new function in Db2. You can tailor jobs for updating the Db2 catalog and activating Db2 function levels by running the Db2 installation CLIST.

Tip: You can also use z/OSMF to automate running the jobs for this task. For more information, see Activating Db2 function levels by using z/OSMF.

Procedure

To activate capabilities and enhancements that are introduced by Db2 function levels, complete the following steps:

  1. If Db2 12 is at function level 100, follow the steps in Activating Db2 12 new function at migration.
  2. Issue a DISPLAY GROUP command to check that the code level of the Db2 subsystem or each data sharing group member supports your target function level.
    In the DSN7100I message, the DB2 LVL column indicates the code level. For more information and examples, see Determining the Db2 code level, catalog level, and function level.
  3. If necessary, apply maintenance, such as PTFs and RSUs, to bring your Db2 subsystem or data sharing group members up to the required code level for your target function level.
  4. Generate tailored JCL jobs for the CATMAINT and function level activation steps. You can use the Db2 installation CLIST.
    1. On panel DSNTIPA1, specify values in the ACTIVATE, INPUT MEMBER, and OUTPUT MEMBER fields.
      • In the INSTALL TYPE field, specify ACTIVATE.
      • In the INPUT MEMBER field, specify the name of the CLIST output member that you created when you installed or migrated to Db2 12, or most recently activated a Db2 12 function level.
      • In the OUTPUT MEMBER field, specify a new member name, to save your changes for future use.
    2. On panel DSNTIPT, verify the SAMPLE LIBRARY field value, which is the name of the output data set that is to be created. An asterisk appears at the far left of this field if the data set already exists. If the data set already exists, the CLIST replaces the members that it customizes for activation of the new function level.
    3. On panel DSNTIP00, specify V12R1M5nn in the TARGET FUNCTION LEVEL field, where 5nn is the function level that you want to activate. The format is VvvRrMmmm, where vv is the version, r is the release, and mmm is the modification level. The value is used in the ACTIVATE command in the DSNTIJAF job and in the CATMAINT utility control statement in the DSNTIJTC job.
    4. If all Db2 applications can be bound and run at the target function level, modify the APPLCOMPAT and SQLLEVEL subsystem parameter settings. Otherwise, leave these fields unchanged.
    5. Proceed through the remaining panels, and wait for the CLIST to tailor the jobs for the activation process. The output data set contains the tailored jobs for the activation process.
  5. Run the DSNTIJIC job to take an image copy of the Db2 catalog and directory.
  6. Run the tailored DSNTIJTC job to run the CATMAINT utility with LEVEL V12R1M5nn to update the catalog to the appropriate catalog level.
    You can use a single CATMAINT job that specifies the target function level. If the target function level requires multiple catalog level updates, the CATMAINT job processes each update in sequential order. If a later update in the sequence fails, the previous successful updates do not roll back, and the catalog level remains at the highest level reached. If that occurs, you can correct the reason for the failure and resubmit the same CATMAINT job.
    Important: Do not attempt to start Db2 at a lower code level after any part of the CATMAINT job for a higher function level completes. Run the CATMAINT job only after you are satisfied that Db2 can continue to run at the necessary code level. The code to tolerate catalog changes is contained in the code level that delivers the CATMAINT job.
    Restriction: Before you can run CATMAINT to tailor the Db2 catalog for function level 502 or higher, you must first activate function level 500 or 501. That is, the DISPLAY GROUP command output must indicate HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500) or higher. This restriction prevents tailoring the Db2 catalog for function levels higher than 500 while fallback to Db2 11 remains possible. However, later activating a lower function level such as function level 100* does not restrict the CATMAINT operation.

    When the catalog level change completes, Db2 records the change in the SYSIBM.SYSLEVELUDPATES catalog table and issues message DSNG014I to the console.

  7. Optional: Test the Db2 code level and catalog level for readiness to activate of the function level.
    For more information and examples, see Testing Db2 function level activation.
  8. Run the tailored DSNTIJAF job, or issue the following ACTIVATE command, with V12R1M5nn changed to function level that you want to activate.
    -ACTIVATE FUNCTION LEVEL (V12R1M5nn)
    Important: Do not attempt to start Db2 at any code level that is lower than the highest ever activated function level, even at the lower star (*) function level. Activate a function level only after you are satisfied that Db2 can continue to run at the required code level.
    If the command completes successfully, Db2 issues message DSN9022I. Message DSNU757I indicates the result of the activate command.
    Begin general-use programming interface information.For example, the following message indicates successful activation:
    DSNU757I  -DB2A DSNUGCCA                                                   
    *** BEGIN ACTIVATE FUNCTION LEVEL (V12R1M502)                              
                    FUNCTION LEVEL (V12R1M502) SUCCESSFULLY ACTIVATED          
                    CATALOG LEVEL(V12R1M502)                                   
                    CURRENT FUNCTION LEVEL(V12R1M500)                          
                    HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500)                
                    HIGHEST POSSIBLE FUNCTION LEVEL(V12R1M502)               
    DSN9022I  -DB2A DSNZACMD '-ACTIVATE FUNC' NORMAL COMPLETION

    When the function level change completes, Db2 records the change in the SYSIBM.SYSLEVELUDPATES catalog table and issues message DSNG014I to the console.

    End general-use programming interface information.
    More actions are required after the ACTIVATE command completes successfully before most types of new capabilities and enhancements in the function level can be used. For example, new SQL capabilities require that applications use the appropriate application compatibility level, and optimization enhancements apply only after full prepare of the SQL statements.
  9. After you are ready for applications to use the new capabilities in the function level, rebind them at the corresponding application compatibility level. For more information, see Controlling the Db2 application compatibility level.
    Tip: Proceed with the following steps only if all Db2 applications can be bound and run at the target function level.
    Optionally, when you are ready for all applications to use the new capabilities of the target function level, you can run the following jobs:
    1. Run DSNTIJUZ to modify the subsystem parameter module with the APPLCOMPAT value that was specified on panel DSNTIP00.
    2. Run DSNTIJOZ job to issue SET SYSPARM command to bring the APPLCOMPAT subsystem parameter changes online.
    3. Run DSNTIJUA job to modify the Db2 data-only application defaults module with the SQLLEVEL value that was specified on panel DSNTIP00.

What to do next

Complete any of the following actions:

  • If the new function level includes optimization enhancements, Db2 must process a full prepare before any SQL statements can benefit. Whether a full prepare occurs depends on the statement type:
    • For static SQL statements, after bind or rebind of the package
    • For non-stabilized dynamic SQL statements, immediately, unless the statement is in the dynamic statement cache
    • For stabilized dynamic SQL statements, after invalidation, free, or changed application compatibility level
  • If you did not run the jobs to update the APPLCOMPAT and SQLLEVEL subsystem parameters, resolve any application incompatibilities and increase the application compatibility level of your applications after you are satisfied that Db2 is stable at the target function level, as described in Controlling the Db2 application compatibility level.
  • If you encounter regressions or other problems when you activate a Db2 12 function level, minimize the impact to your applications while you resolve the problems by following the general approaches described in Responding to problems after function level activation.
  • You might need to update COPY, RECOVER, and REBUILD INDEX utility jobs to add new or remove obsolete Db2 catalog objects. When a utility encounters the following situations for Db2 catalog objects, it issues message DSNU1530I:
    • The object is no longer used or no longer exists.
    • The object is created in a higher catalog level or function level.

    For best results, make these updates the utility jobs after you activate the function level that the changes support. For more information about the catalog changes in Db2 12, see Catalog changes in Db2 12.