db2 12 for z/os continuous delivery jeff josten · introduction . continuous delivery in db2 12 =...

66
DB2 12 for z/OS Continuous Delivery Jeff Josten

Upload: others

Post on 22-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

DB2 12 for z/OS

Continuous Delivery

Jeff Josten

Page 2: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Agenda

Introduction

Why we are changing

Migration from DB2 11 to DB2 12

New Function Activation Beyond Base DB2 12

Applications

Catalog Changes

Documentation

Summary

Page 3: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Introduction

Page 4: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Continuous Delivery in DB2 12 = Accelerated Value for You

Deliver desirable, consumable

capabilities to the marketplace with

speed and quality

• DB2 for z/OS is moving to a Continuous Delivery model

based upon DB2 12

• Why?

– Faster delivery of new features

– Integrates well with new DevOps methodologies being

adopted by our users

– Easier deployment enables faster adoption

• “Sponsor Users” a key new concept

• Watch for upcoming new video (World of DB2)

Page 5: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Why we are changing

Page 6: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

DB2 for z/OS Today

We deliver most of our new function in a new release ~every 3 years

DB2 is on 3 year cycles, but many of our customers are on 4 year cycles, hence the interest in skip release migrations

We develop or retrofit a very limited number of new features in the service stream, but only if urgent and generally low risk

Deployment of new releases is seen as a disruption by our customers

Many of our customers want new features delivered much faster

Industry and customer trend is to move away from monolithic code delivery towards continuous delivery model

IBM is moving towards continuous delivery model

Time for us in DB2 to change

6

Page 7: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Proposals Considered

Faster release cycle -- DB2 vNext in 18 months

• DB2 CAC customers gave this a thumbs down

• Not able to take on such a fast migration due to the cost of any version/release migration

• The migration effort would be just as large as moving to a new DB2 version

• Even the promise of skip release migration couldn’t save this proposal

Continuous release cycles

• DB2 V12.1, V12.2, V12.3, …. As you order V12, you get what is available

• Considerable migration/coexistence challenges and higher overhead, lower quality imposed by more code streams

A combination of Service only and Continuous Delivery streams

Continuous delivery on one stream

7

Page 8: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Delivery Strategy for DB2 for z/OS

We are going forward on a continuous delivery model

• Radical internal changes are required within DB2 for z/OS Development to do this

DB2 12 is the starting point

Customers will see a single maintenance stream for DB2 12, with the new function delivered into that

• The function will be designed to be easily consumable

Point releases or versions will be a rare exception

• There are reasons why we might want to have a point release or new version. For instance:

• To adopt a new compiler for DB2 code

• To extend control structures

• To enable an architecture level set

DB2 for z/OS Development will have relentless focus on maintaining continuous production level reliability for you in the service stream

• We will control the input to “the pipe”, the size and risk of the items

• Increased internal focus on function and performance regression testing

• We will deliver new function when the quality is right

8

Page 9: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Design Thinking and Sponsor Users

Design Thinking methodology: empathy for our users, using activities that increase collaboration and buy-in

• Items are designed around user-centric market outcomes

• Sponsor users guide the development

• Playbacks align the team around the stories

Deliver items that customers will actually adopt

• If we cannot find sponsor users then we should not be doing it

Customer input which will be more targeted than before with ESPs

Strong focus on getting the design right up front

9

Page 10: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Migration from DB2 11 to DB2 12

Page 11: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Migration DB2 11 -> DB2 12 and activating new V12 function

Ensure fallback PTF level applied to V11 code libraries

• Required for fallback / coexistence

Start one member V12 code level

Migrate catalog from V11 to V12

Roll other DB2 members to V12 code level

• Period of release coexistence varies, typically days – weeks

-ACTIVATE FUNCTION LEVEL(V12R1M500)

• Fallback, coexistence no longer allowed – so this is done after you are fully confident in V12 stability for all your critical workloads

• All members must be started at V12 code level

• No catalog changes as with ENFM in prior releases

• Apps can now begin to use V12 new functions – governed by APPLCOMPAT

Page 12: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Migration DB2 11 DB2 12

DB2 12

Catalog

Data Sharing

Coexistence

DB2 12 New

Function Not

Available

FL(V12R1M100)

DB2 12 New

Function

available CATMAINT

UPDATE

(DSNTIJTC)

-ACTIVATE

FUNCTION

LEVEL

(V12R1M500)

DB2 11

Catalog

DB2 12

Libraries

DB2 11

Libraries

DB2 11

NFM With SPE

1 – 2 months

1 week

Bind with APPLCOMPAT(V10R1) or APPLCOMPAT(V11R1)

Bind with APPLCOMPAT(V10R1), APPLCOMPAT(V11R1), APPLCOMPAT(V12R1M500)

Page 13: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (before new function activation)

13

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M100)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M100)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M500)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121500 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121500 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121500 MVSC DJ1C DB1CIRLM

DB1D 6 DB1D -DB1D ACTIVE 121500 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 14: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (New Function Active)

14

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M500)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M500)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M500)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121500 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121500 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121500 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121500 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 15: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

New Function Activation beyond base DB2 12

Page 16: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Function Levels

New features will be delivered in the V12 maintenance stream

Customers apply DB2 maintenance like they always have

Certain maintenance levels will allow for activation of the next function level (FL)

FLs are named ‘M5xx”. M501 is the next FL after base M500.

Each FL is associated with one or more new features

Activation of a FL is optional

• Customers can skip FLs. E.g. M500 to M507

• Activation of the FL allows for use of the new features associated with that FL, as well as any prior FLs that were not previously activated

• Some FLs will require catalog changes, some will not

Page 17: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Activating new function levels beyond base V12 ‘M500’ level

Similar process to base V12 new function activation

Roll the new maintenance level to all members

Migrate catalog to the new catalog level, if needed

• Not all new function levels will require catalog changes

-ACTIVATE FUNCTION LEVEL(V12R1M5xx)

• Catalog and code levels must support M5xx

• TEST option will validate

• DISPLAY GROUP command can also be used to validate

• Apps can now begin to use M5xx new functions – governed by APPLCOMPAT

Page 18: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New function activation no Catalog Change

Maintenance

Rolled in

DB2 12R1M501

New Function

available -ACTIVATE

FUNCTION LEVEL

(V12R1M501)

DB2

V12R1M500

Catalog

DB2

V12R1M501

Libraries

DB2

V12R1M500

Libraries

DB2 12

(V12R1M500)

1 week

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M500

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500, or V12R1M501

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M500, or V12R1M501

DB2 V12R1M501

New Function

Not Available

Example: Move from FL M500 to M501 (no catalog changes required)

Page 19: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (after prior example)

19

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M501)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M501)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M501)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121501 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121501 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121501 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121501 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 20: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New function activation with Catalog Change

DB2

V12R1M502

Catalog

DB2 V12R1M502

New Function

not available

CATMAINT

UPDATE

For

V12R1M502 DB2

V12R1M500

Catalog

DB2

V12R1M502

Libraries

DB2

V12R1M500

Libraries

DB2 12

(V12R1M500)

1 week

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500, V12R1M501

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500, V12R1M501, or V12R1M502

DB2 12R1M502

New Function

available -ACTIVATE

FUNCTION LEVEL

(V12R1M502)

Maintenance

Rolled in

Example: Move from FL M500 to M502 (M502 requires catalog changes )

Page 21: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (after prior example)

21

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M502)

CURRENT FUNCTION LEVEL(V12R1M502)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M502)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M502)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121502 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121502 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121502 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121502 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 22: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New function activation with Multiple Catalog Changes

DB2

V12R1M505

Catalog

CATMAINT UPDATE

For V12R1M505

(automatically includes

M502 catalog changes

DB2

V12R1M500

Catalog

DB2

V12R1M507

Libraries

DB2

V12R1M504

Libraries

DB2 12

(V12R1M500)

1 week

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500 - V12R1M502

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500 – V12R1M502, V12R1M503 - V12R1M507

DB2 12R1M507

New Function

available -ACTIVATE

FUNCTION LEVEL

(V12R1M507)

Maintenance

Rolled in

Example: Move from FL M500 to M507 (M502, 505 require catalog changes )

Page 23: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (after prior example)

23

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M505)

CURRENT FUNCTION LEVEL(V12R1M507)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M507)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M507)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121507 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121507 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121507 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121507 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 24: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Function activation of Previous Level (* Mode)

DB2 12R1M500*

Function

available

-ACTIVATE

FUNCTION LEVEL

(V12R1M500*)

DB2

V12R1M500

Catalog

DB2

V12R1M501

Libraries

DB2 12

(V12R1M501)

DB2 V12R1M501

New Function

Available

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500, or V12R1M501

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M500, or V12R1M501

Bind with APPLCOMPAT V10R1, V11R1, V12R1M500

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M500

REBIND with existing APPLCOMPAT INCLUDING V12R1M501

SET CURRENT APPLCOMPAT up to APPLCOMPAT value

Example: Move from FL M501 back to M500*

Page 25: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (after prior example)

25

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M500*)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M501)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M501)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121501 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121501 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121501 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121501 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 26: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Function Level Adoption – Best Practices

PTFs (RSUs…) are applied that may increase the Maint Level (ML) of a DB2 system

After system is stable on maintenance, execute (If Any) catmaint

• After execution of catmaint, the system can only be started with a ML that supports the catalog

Activate Function Level

• Function not related to SQL, DML, DDL, DCL syntax is available

• REBIND of packages with any APPLCOMPAT would pick up optimizer enhancements

• non-stabilized dynamic SQL would pick up optimizer / other non-APPLCOMPAT related enhancements

After Function Level is considered stable - allow new application feature rollout.

• REBIND DBA packages to allow new DDL to be utilized

• REBIND application static packages with higher APPLCOMPAT to exploit DDL/DML new functions/behaviors

• REBIND dynamic packages with higher APPLCOMPAT to allow new SQL functions to be used

• REBIND distributed packages (***in separate collection) to allow new SQL functions to be used

• Switch applications to use new distributed package collection

• Leverage PLANMGMT extended

• REBIND SWITCH (PREVIOUS) to restore static to prior runtime structures

• REBIND SWITCH (PREVIOUS) for dynamic would restore prior APPLCOMPAT

• ***switching to prior collid for distributed dynamic would restore APPLCOMPAT

Page 27: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

APPLICATIONS

Page 28: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Static SQL, DDL, and DCL

In DB2 11, Static SQL is controlled by APPLCOMPAT BIND option

In DB2 11, DDL and DCL is controlled by CM/NFM

DB2 12 needs to take into account function levels changing more often and the need to control applications’ use of new function across one or more function levels

• In DB2 12, the APPLCOMPAT BIND option is extended to support function levels (e.g. V12R1M501)

• In DB2 12, the APPLCOMPAT BIND option is extended to support DDL and DCL, in addition to DML

Page 29: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Dynamic SQL, DDL, and DCL

In DB2 11, by default, Dynamic SQL executed under the APPLCOMPAT Bind Option

• Could be V10R1 or V11R1

• SET CURRENT APPLCOMPAT could be used to SET V11R1 if in NFM

DB2 12 needs to take into account function levels changing more often and the need to control applications’ use of new function across one or more function levels

• In DB2 12 the APPLCOMPAT BIND option is extended to support function levels (e.g. V12R1M501) for both STATIC and DYNAMIC SQL, DDL and DCL

• The APPLCOMPAT BIND OPTION controls the MAX value that can be specified in SET CURRENT APPLCOMPAT

• An APPLCOMPAT level will remain active even if the FL is lowered to a * mode (e.g. M501->M500*). • REBIND of the current APPLCOMPAT value is allowed even if the value exceeds the current

*mode FL

• SET CURRENT APPLCOMPAT continues to be allowed to the be specified up to the value specified on BIND/REBIND

Page 30: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

RIBRELX Indicates the Function Level

DB2 already has a function level that is exposed to applications

• The RIBRELX is exposed via various interfaces and is available to applications after a “CONNECT” statement. For instance the following info is available after a remote connect:

Database Connection Information

Database server = DB2 z/OS 12.1.5

SQL authorization ID = SYSADM

Local database alias = DB2A

RIBRELX values are defined as VV.R.M where M is the Mod level

• Since DB2 8:

• Mod Levels 1-4 have been reserved for CM (New Function not Available for DB2 12)

• Mod Levels 5-9 have been reserved for NFM (New Function Available for DB2 12)

RIBRELX is extended for Continuous Delivery

• 2 previously unused bytes at the end are now put to use

• Mod levels 100, 200, 300, and 400 will be New Function not Available

• Mod level 500-999 will be New Function Available

30

Page 31: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

IBM Data Server Drivers

Any level of DB2 Connect drivers should work with DB2 V12, both before and after new function is activated with no behavior change.

Data server clients and drivers must be at the following levels to exploit DB2 for z/OS function-level application compatibility of V12R1M501 or greater:

IBM® Data Server Driver for JDBC and SQLJ: Versions 3.72 and 4.22, or later

Other IBM data server clients and drivers: DB2 for Linux, UNIX, and Windows Version 11.1 Modification 1 Fix Pack, or later

Page 32: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

IBM Data Server Drivers…

The IBM Data Server Drivers will also be controlled by APPLCOMPAT

A collection name provided on the datasource property will specify the packages to use

DB2 will control the capabilities used by the Data Server Drivers by returning the APPLCOMPAT value of the package instead of the current function level of the DB2 system

For Client side control

clientApplCompat datasource property sets the current application compatibility special register to allow applications requiring a previous APPLCOMPAT level but using packages that support a higher APPLCOMPAT level

SET CURRENT APPLCOMPAT could also be explicitly used by the application

Can only SET CURRENT APPLCOMPAT <= package APPLCOMPAT level

CURRENT APPLCOMPAT can also be set in the DSN_PROFILE tables Can only SET CURRENT APPLCOMPAT <= package APPLCOMPAT level

Page 33: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New Global Variables PRODUCTID_EXT

• Contains the extended product identifier of the database manager that invoked the function.

• The format of the extended product identifier values is pppvvrrmmm, where ppp is a 3- letter product code (such as DSN for DB2®), vv is the version, rr is the release, and mmm is the modification level (such as '100', '500', '501'). For example, DSN1201500 identifies DB2 12 after the activation of DB2 12 new function (function level 500 or higher).

CATALOG_LEVEL

• Contains the level of the current catalog level.

• The format of the catalog level values is VvvRrMmmm, where vv is the version, r is the release, and mmm is the modification level (such as '100', '500', '501'). For example, V12R1M500 identifies DB2 12 after the activation of DB2 12 new function (function level 500 or higher).

DEFAULT_SQLLEVEL

• Contains the value of the default value of the SQLLEVEL SQL processing option (DECPSQLLV).

• The format of the default SQL level values is V10R1, V11R1, or VvvRrMmmm, where vv is the version, r is the release, and mmm is the modification level (such as '100', '500', '501'). For example, V12R1M500 identifies DB2 12 after the activation of DB2 12 new function.

DB2 V11 can query the new built-in global variables. Their values will be:

• SYSIBM.PRODUCTID_EXT: DSN111500

• SYSIBM.CATALOGLEVEL: V12R1M500

• SYSIBM.DEFAULT_SQLLEVEL: NULL

33

Page 34: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Catalog changes

Page 35: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New catalog table SYSIBM.SYSLEVELUPDATES

A row will be inserted into this table during ACTIVATE FUNCTION LEVEL and CATMAINT

UPDATE

Column name Data type Description

FUNCTION_LVL VARCHAR(10) Function level when this record is inserted

PREV_FUNCTION_LVL VARCHAR(10) Previous function level

HIGH_FUNCTION_LVL VARCHAR(10) Highest activated function level

CATALOG_LVL VARCHAR(10) Catalog level when this record is inserted

OPERATION_TYPE CHAR(1) Type of operation : ‘C’ for catalog change, ‘F for function level, ‘M’ for

maintenance update (some form of special catmaint for instance)

EFFECTIVE_TIME TIMESTAMP(12) Time when a change in function or catalog level has completed.

EFFECTIVE_LRSN CHAR(10) RBA (or LRSN for data sharing) at the time when a change in function or

catalog level has completed.

OPERATION_TEXT VARCHAR(256) The text of the operation.

GROUP_MEMBER VARCHAR(24) Name of the group member on which the operation was executed.

Page 36: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

FUNCTION_LVL PREV_FUNCTION_LEVEL

HIGH_FUNCTION_LEVEL

CATALOG_LVL

OPERATION_TYPE

EFFECTIVE_TIME

OPERATION_TEXT

V12R1M100 V11R1M500 V12R1M100 V12R1M500

C TIME 1 CATMAINT UPDATE UNLDDN V12R1M500

V12R1M500

V12R1M100

V12R1M500

V12R1M500

F TIME 2 ACTIVATE FUNCTION LEVEL(V12R1M500)

V12R1M503 V12R1M500 V12R1M503 V12R1M500 F TIME 3 ACTIVATE FUNCTION LEVEL(V12R1M503)

V12R1M500 V12R1M503 V12R1M503 V12R1M500 F TIME 4 ACTIVATE FUNCTION LEVEL(V12R1M500)

V12R1M500 V12R1M503 V12R1M503 V12R1M505 C TIME 5 CATMAINT UPDATE UNLDDN V12R1M505

V12R1M505 V12R1M500* V12R1M505 V12R1M505 F TIME 6 ACTIVATE FUNCTION LEVEL(V12R1M505)

New catalog table SYSIBM.SYSLEVELUPDATES

Page 37: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New Catalog Columns

Table Name Column Name Data Type Description

SYSACCELERATEDPACKAGES

SYSDYNQRY

SYSPACKCOPY

SYSPACKAGE

SYSQUERY

FNLEVEL VARCHAR(10) Function level of the

package/query at the

time the row was

inserted

SYSCONTROLS

SYSINDEXES

SYSROUTINES

SYSTABLES

REGENERATETS TIMESTAMP(12) Time when the object

was regenerated or

altered

SYSKEYS

SYSENVIRONMENT

CREATEDTS TIMESTAMP(12) Time when the row was

inserted

37

Listed above are the new columns which have been added in places where

we do not already have timestamp columns. We are not listing all the

existing timestamp columns that could be used with SYSLEVELUPDATES

in a similar fashion to that described on the previous slide.

Page 38: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

SELECT LVU.FUNCTION_LVL, LVU.CATALOG_LVL, LVU.EFFECTIVE_TIME, LVU.OPERATION_TEXT FROM SYSIBM.SYSTABLES AS TAB, SYSIBM.SYSLEVELUPDATES AS LVU WHERE TAB.CREATOR = 'MY' AND TAB.NAME = 'TABLE1' AND TAB.CREATEDTS > LVU.EFFECTIVE_TIME ORDER BY LVU.EFFECTIVE_TIME DESC FETCH FIRST 1 ROWS ONLY

Query to find the catalog level and function level when table MY.TABLE1 was created.

Query to find when function level 505 was activated.

FUNCTION_

LVL

CATALOG_

LVL

EFFECTIVE_

TIME

OPERATION_TEXT

V12R1M503 V12R1M500 TIME 3 ACTIVATE FUNCTION LEVEL (V12R1M503)

SELECT …

FROM SYSLEVELUPDATES AS LVU

WHERE LVU.FUNCTION_LVL = 'V12R1M505'

FUNCTION_LVL PREV_FUNC_LVL HIGH_FUNC_LVL CATALOG_LVL EFFECTIVE_TIME

V12R1M505 V12R1M500* V12R1M505 V12R1M505 2016-04-20-12.38.03.706031000000

Page 39: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Documentation

Page 40: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Function Level Information: Table of Contents

Info about the DB2 12 product at

GA (traditional “What’s New”

information)

Info about the DB2 12 function

levels (shipped by continuous

delivery)

Topics about the available function

levels and their enhancements, with

the most recent function level on

top

Conceptual information about

continuous delivery and instructions

for activating new capabilities

Page 41: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

“Available DB2 function levels” topic

Tip: Bookmark this topic

because it will be updated

every time a new DB2

function level is shipped!

This topic has links to

topics about each new

function level, with the

most recent on top.

The paragraph under

the link summarizes

what is included in the

function level

Page 42: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Info about Individual Function Levels

Title of the function level nnn topics

identifies the function level

(V12R1Mnnn) and the APAR/PTF that

enables it.

The opening

paragraph

summarizes the

enhancements.

A table provides basic facts about each

function level.

Example

Page 43: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Information about Individual Function Levels (continued)

After the table of facts, you’ll find one section for each enhancement in the function level,

with a brief overview of that enhancement.

The overview will focus on Who, What, and WOW!

Each section for each enhancement

concludes with links to: • KC topics that provide more details about

the enhancement

• Other resources (white papers, webcasts,

etc.) about the enhancement

Example

Page 44: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Bitemporal support for DB2 Analytics Accelerator (V12R1M505)

Other topics that are

changed for a

function level contain

links back to the

overview of the

function level.

Details about Enhancements Example

Page 45: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Summary

Page 46: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Summary

Starting with DB2 12 New Function will ship in the maintenance stream

Enabling new function is controlled by use of

• Catmaint

• -ACTIVATE FUNCTION LEVEL

• APPLCOMPAT

APPLCOMAT is extended to apply to DDL, DCL, and to control IBM Data Server Driver Packages (ODBC, JDBC, .Net, PHP, RUBY… SAP).

SYSLEVELUPDATES contains History on when system changes occurred

Documentation will change to help highlight new function

46

Page 47: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Thank You

Page 48: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

© 2015 IBM Corporation

Backup

Page 49: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-ACTIVATE FUNCTION LEVEL

Important: On successful completion of the command, all function for the specified level, and any previous levels becomes available. For migration to DB2 12 from DB2 11, the level of V12R1M100 (new function not available) and V12R1M500 (new function available) are the base function levels. Once V12R1M500 is adopted, coexistence with and fallback to Version 11 are not possible. Version 11 cannot start. Adoption of V12R1M500 requires that the data sharing group contains no active Version 11 members. Once V12R1M500 is adopted, the system is now positioned to adopt future new function levels (M501, M502, and so on).

Data sharing scope: Group

Authorization: To execute this command, you must use a privilege set of the process that includes install SYSADM.

>>-ACTIVATE-FUNCTION-LEVEL-(VxxRyMxxx)--+-------+--><

|-TEST--|

Page 50: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-ACTIVATE FUNCTION LEVEL

50

DSN7100I -DB1A DSN7GCMD

-DB2A ACTIVATE FUNCTION LEVEL (V12R1M500)

*** BEGIN ACTIVATE FUNCTION LEVEL (V12R1M500)

FUNCTION LEVEL (V12R1M500) SUCCESSFULLY ACTIVATED

CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M500)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M500)

HIGHEST POSSIBLE FUNCTION LEVEL(V12R1M500)

DSN9022I -DB2A DSNZACMD '-ACTIVATE FUNC' NORMAL COMPLETION

Page 51: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (proposal for a new Version or Release)

51

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R2M100)

CURRENT FUNCTION LEVEL(V12R1M502*)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M503)

HIGHEST POSSIBILE FUNCTION LEVEL(V12R1M505)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 122100 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 122100 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121505 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D ACTIVE 121507 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 52: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Summary: Relationship between Maintenance and Function Level

Customers apply maintenance just like they always have

• E.g. quarterly RSU levels

• Some RSU levels will contain code for new functions that are initially dormant

• Some RSU levels will give the ability to advance to a new FL

• Fewer toleration APARs means that maintenance becomes easier to apply

Before an FL can be activated, all members must be at a ML that supports that FL

• The ML is member scope. The FL is group scope. FL activation is group scope.

• Use the TEST option of –ACTIVATE NEW FUNCTION to validate that all members are at proper MLs to support a FL (and that the catalog is at an appropriate level)

• DISPLAY GROUP shows the member MLs and the group FL

• Once a FL is active, then all members joining that group must be at an ML that supports the FL

It is possible to return to a previous FL

• E.G. if you are at FL V12R1M506, you can return to V12R1M504* (wherever I came from). The * will indicate that the group has previously been at a higher FL

• All existing usage of a feature of a FL will continue to be allowed, but new exploitation of the previous FL will be prevented

• Returning to a previous FL will still require that all members joining a group must support the highest activated FL ever set for the group

Page 53: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Relationship between a Function Level and APPLCOMPAT

The APPLCOMPAT Level (APPLV) of a package is directly related to the Function Level of the group.

• You may not BIND (or set in any other way) an APPLV that is higher than the current FL of the group.

• APPLCOMPAT controls DML (SQL and XML), DDL, and DCL (GRANT and REVOKE) capability in an application (Package), in order to us a function that requires a specific APPLV, the FL for the group must be at the specific APPLV or Higher – to allow the APPLV to be specified.

• The default APPLCOMPAT level for new BINDs is controlled by the zPARM (BAU)

• The default APPLCOMPAT level for REBIND is the value currently in the catalog, however it can be changed by explicitly specifying a specific value on the REBIND.

We will be discussing APPLCOMPAT in upcoming slides

Page 54: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Catalog Level (CL)

• Some FLs will require catalog changes, some will not

• A catalog change will not be required until the FL that requires that change is activated

• A CL will require all members be at a maintenance level that supports the change – this is similar to FL activation.

• Catmaint will automatically incorporate any previous CLs that may have been skipped

Page 55: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-ACTIVATE FUNCTION LEVEL

55

DSN7100I -DB1A DSN7GCMD

-DB2A ACTIVATE FUNCTION LEVEL (V12R1M100)

*** BEGIN ACTIVATE FUNCTION LEVEL (V12R1M100)

FUNCTION LEVEL (V12R1M100) SUCCESSFULLY ACTIVATED

CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V12R1M100*)

HIGHEST ACTIVATED FUNCTION LEVEL(V12R1M500)

HIGHEST POSSIBLE FUNCTION LEVEL(V12R1M500)

DSN9022I -DB2A DSNZACMD '-ACTIVATE FUNC' NORMAL COMPLETION

Page 56: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

SELECT * FROM SYSIBM.SYSLEVELUPDATES

+---------+---------+---------+---------+-----+-------------------+

|FUNCTION_|PREV_FUNC|HIGH_FUNC|CATALOG_ |OPERA|EFFECTIVE_TIME |

|LVL |TION_LV |TION_LVL |LVL |TION_| |

| | | | |TYPE | |

|---------|---------|---------|---------|-----|-------------------|

1_|V12R1M500|V12R1M100|V12R1M500|V12R1M500|M |2016-06-27 07:31:18|

2_|V12R1M100|V12R1M500|V12R1M500|V12R1M500|F |2016-07-29 14:57:43|

3_|V12R1M500|V12R1M100|V12R1M500|V12R1M500|F |2016-07-29 15:06:47|

+---------+---------+---------+---------+-----+-------------------+

+-----+------------------------------------+-------+

|EFFEC|OPERATION_TEXT |GROUP_ |

|TIVE_| |MEMBER |

|LRSN | | |

|-----|------------------------------------|-------|

1_| … |CATMAINT PROCESSING - DB2DEV | |

2_| … |-ACTIVATE FUNCTION LEVEL (V12R1M100)| |

2_| … |-ACTIVATE FUNCTION LEVEL (V12R1M500)| |

+-----+------------------------------------+-------+

Page 57: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (DB2 11)

57

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(111)

NEW FUNCTION(X) PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

--------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- --- -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 111 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 111 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 111 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D QUIESCED 111 MVSD DJ1D DB1DIRLM

--------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 58: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

-DISPLAY GROUP (coexistence) – From DB2 12 member

58

DSN7100I -DB1A DSN7GCMD

*** BEGIN DISPLAY OF GROUP(.......) CATALOG LEVEL(V12R1M500)

CURRENT FUNCTION LEVEL(V11R1M500)

HIGHEST ACTIVATED FUNCTION LEVEL(V11R1M500)

HIGHEST POSSIBILE FUNCTION LEVEL(V11R1M500)

PROTOCOL LEVEL(2)

GROUP ATTACH NAME(....)

-----------------------------------------------------------------------

DB2 DB2 SYSTEM IRLM

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC

-------- --- ---- -------- -------- ------ -------- ---- --------

DB1A 1 DB1A -DB1A ACTIVE 121500 MVSA DJ1A DB1AIRLM

DB1B 2 DB1B -DB1B ACTIVE 121500 MVSB DJ1B DB1BIRLM

DB1C 3 DB1C -DB1C ACTIVE 121500 MVSC DJ1C DB1CIRLM

DB1D 4 DB1D -DB1D QUIESCED 111500 MVSD DJ1D DB1DIRLM

-----------------------------------------------------------------------

SCA STRUCTURE SIZE: 1024 KB, STATUS= AC, SCA IN USE: 11 %

LOCK1 STRUCTURE SIZE: 1536 KB

NUMBER LOCK ENTRIES: 262144

NUMBER LIST ENTRIES: 7353, LIST ENTRIES IN USE: 0

*** END DISPLAY OF GROUP(DSNDB10 )

DSN9022I -DB1A DSN7GCMD 'DISPLAY GROUP ' NORMAL COMPLETION

Page 59: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

New client property to control new function - clientApplCompat

Any level of DB2 Connect drivers should work with DB2 V12, both before and after

new function is activated with no behavior change.

Data server clients and drivers must be at the following levels to exploit DB2 for z/OS function-level application compatibility of V12R1M501 or greater:

IBM® Data Server Driver for JDBC and SQLJ: Versions 3.72 and 4.22, or later

Other IBM data server clients and drivers: DB2 for Linux, UNIX, and Windows Version 11.1 Modification 1 Fix Pack, or later

clientApplCompat lets you control the capability of the client when updated drivers ship changes to enable new server capability. You might want specific control of driver capability when:

DB2 client driver introduces new behavior currently not controlled by DB2 application compatibility

Change needs to be controlled at the application level to ensure compatibility with new behavior

clientApplCompat V12R1M500 is required to access DB2 12 Server capability shipped after GA at function levels beyond DB2 V12R1M500.

Page 60: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Driver Level clientApplCompat

setting

APPLCOMPAT

setting***

Application Capability

V10.5 FP2(-)

V11

V11 FP1(+)

n/a

n/a

not provided

V10R1

V11R1

V12R1M100

V12R1M500

Applications may exploit DB2 10 functionality

Applications may exploit DB2 11 functionality

Applications may exploit DB2 11 functionality

Applications may exploit DB2 V12R1M500 functionality

V10.5 FP2(-)

V11

V11 FP1(+)

n/a

n/a

not provided

V12R1M501 –

V12R1M5xx

SQLCODE -30025

V11 FP1(+) V12R1M500

V10R1

V11R1

V11R1M100

V12R1M501

V12R1M5xx –

V12R1M5(zz-1)

Applications may exploit DB2 10 functionality

Applications may exploit DB2 11 functionality

Applications may exploit DB2 11 functionality

Applications may exploit DB2 V12R1M501 functionality

Applications may exploit DB2 V12R1M5xx functionality

Applications may exploit DB2 V12R1M5(zz-1)

functionality

Vyy Fpy ### V12R1M5zz V12R1M5zz Applications may exploit DB2 V12R1M5zz functionality

V11 FP1(+) V12R1M501(+) V12R1M500 SQLCODE -30025

clientApplCompat must not exceed the server

APPLCOMPAT setting

***This is the APPLCOMPAT setting for the IBM Data Server Driver Packages specified by the collection id ### Hypothetical future Driver fixpack needed to support a DB2 for z/OS server change at FL V12R1M5zz

clientApplCompat relationship to DB2 APPLCOMPAT

Page 61: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Data Server Drivers - Pre DB2 11 FP1*

DB2

V12R1M100

-ACTIVATE NEW

FUNCTION

(V12R1M501)

No change in client behavior

Server Capability is limited to APPLCOMPAT(V12R1M500)

DB2

V12R1M501

Libraries

DB2

V12R1M500

Catalog

DB2

V12R1M500

Bind with APPLCOMPAT V10R1, V11R1, V12R1M100

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M100

Bind with APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500

*Including any any Data Server Driver post DB2 11 FP1 if clientApplCompat = V12R1M500 is not specified

-ACTIVATE NEW

FUNCTION

(V12R1M500) DB2

V12R1M501

FL M501

Libraries

must remain

active

Page 62: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

Data Server Drivers - DB2 11 FP1(+)

DB2

V12R1M100

-ACTIVATE NEW

FUNCTION

(V12R1M501)

No change in client behavior

DB2

V12R1M501

Libraries

DB2

V12R1M500

Catalog

DB2

V12R1M500

Bind with APPLCOMPAT V10R1, V11R1, V12R1M100

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M100

Bind with APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500

Run DSNTIJLC JOB to

BIND COPY CLIENT PACKAGES

setting COLLECTION and

APPLCOMPAT TO “V12R1M500”

Bind with APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500, V12R1M501

SET CURRENT APPLCOMPAT V10R1, V11R1, V12R1M100, V12R1M500, V12R1M501

-ACTIVATE NEW

FUNCTION

(V12R1M500) DB2

V12R1M501

FL M501

Libraries

must remain

active

Page 63: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

clientApplCompat – control of future function

DB2 12 only allows the new client behavior to control behavior when the

APPLCOMPAT package at the server supports that level of client server function.

We anticipate that at some point in the future, a new server feature will require a new clientApplCompat level.

For example let’s say a new datatype is added in DB2 12 at DB2 function level DB2 V12R1M5zz. At that point, client-server applications wanting to exploit that new capability will need to have:

Packages bound at the server with APPLCOMPAT(V12R1M5zz)

clientApplCompat set to V12R1M5zz

A clientApplCompat that exceeds the Server APPLCOMPAT bind option for the data server driver packages will result in:

-30025 EXECUTION FAILED BECAUSE FUNCTION NOT SUPPORTED BY THE SERVER: LOCATION location-name PRODUCT ID product-identifier REASON reason-code (sub-code)

Although you “can” advance your clientApplCompat as you increase the APPLCOMPAT of the data server driver packages – it will only be necessary when new client capability needs to be exploited.

Best Practice – only change your clientApplCompat when necessary

Page 64: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

SQLCA and GET DIAGNOSTIC impacts

SQL CONNECT is enhanced to return the DB2 product ID and its current and functional level of the connected server in the generated SQLCA

Information about the server is placed in the SQLERRP and SQLERRMC fields

• Information in the SQLERRP field contains the server product information

It contains the following information:

ppp is the product identifier: 'AQT' IBM® DB2 Analytics Accelerator for z/OS

'ARI' DB2 Server for VSE & VM

'DSN' DB2 for z/OS

'JCC' IBM Data Server Driver for JDBC and SQLJ

'QSQ' DB2 for i

'SQL' DB2 for Linux, UNIX, and Windows

vv The version identifier such as '11' for Version 11.

rr The release identifier such as '01'.

m The modification level.

• Information in the SQLERRMC field contains the functional levels

• First token contains the functional level of the connected DB2 (e.g. ‘V12R1M506’).

Clients adding new APIs to retrieve the current DB2 functional level

64

Page 65: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

DDF Commands and Messages

-DISPLAY LOCATION

• Changed to show the functional level of each connected systems

DDF Location Statistics

• Changed to show the functional level of each connected systems

DDF Accounting Header

• Changed to show the functional level of the connected systems

65

Page 66: DB2 12 for z/OS Continuous Delivery Jeff Josten · Introduction . Continuous Delivery in DB2 12 = Accelerated Value for You Deliver desirable, consumable capabilities to the marketplace

What the Clients see after Connect

CLI introduce a new infotype SQL_DBMS_FUNCTIONLVL for SQLGetInfo api that will return the function level/buildlevel.

JCC introduce a new getDatabaseFunctionalLevel() API driver that will return a string.

DB2 LUW returns build level (e.g. "n1604281900").

DB2 Z returns function level (e.g. "V12R1M504").