Data and AI Dos and Dont's About Continuous Delivery Live Webcast
Total Page:16
File Type:pdf, Size:1020Kb
Data and AI on IBM Z Data and AI Dos and Dont’s about Continuous Delivery Live webcast with Q&A John Campbell Distinguished Engineer Db2 for z/OS Development IBM Data and AI Data and AI on IBM Z Continuous Delivery - Recap • With Continuous Delivery, there is a single delivery mechanism for defect fixes and enhancements • PTFs (and collections of PTFs like PUTLEVEL and RSU) same as today • With Continuous Delivery, there are four Db2 for z/OS levels to consider • Maintenance level (ML) = increased by applying maintenance • Also known as code level - contains defect and new enhancement fixes • Most new functions are shipped disabled until the appropriate new function level is activated • Catalog level (CL) – vehicle to enable new FL - accumulative (skip level possible) • Db2 Catalog changes that are needed for some FLs • Function level (FL) – needs to be activated - accumulative (skip level possible) • Introduces new Db2 for z/OS features and functionality • No impact or change in existing application behavior which are protected by APPLCOMPAT level on BIND/REBIND • APPLCOMPAT level (AC) – set by application - provides an “island of stability” for a given application • Determines SQL function level of applications – can increase FL of the application (and fallback) • AC on BIND must be advanced to exploit new SQL function • AC level in BIND/REBIND of package must be <= FL and rules over FL • Freezes new SQL syntax even if FL is later moved back to earlier level 2 Data and AI on IBM Z Continuous Delivery – Recap … • Example of how to get to a new function level Apply recommended RSU or PUT FL 503 requires new Catalog BIND applications with higher Level to all Db2 for z/OS members Level. Run CATMAINT to APPLCOMPAT is only necessary (ML now at M505) update Catalog Level to M503 if new SQL features are required Db2 state: Db2 state: Db2 state: Db2 state: ML 503 ML 505 ML 505 ML 505 CL 500 CL 500 CL 503 CL 503 FL 500 FL 500 FL 500 FL 503 AC 500 AC 500 AC 500 AC 500 Db2 for z/OS group FL 503 needed as Run Db2 command migrated to V12R1M500 customer would like to -ACTIVATE FUNCTION at ML M503 use new Db2 for z/OS LEVEL(V12R1M503) functions Functions are now available 3 Data and AI on IBM Z Dos and Don’ts around Continuous Delivery • Major misconception • When progressively applying preventative service, which raises Maintenance Level (ML/code level) of Db2, then it must be complimented by activating the corresponding Function Level (FL) to match the ML i.e. to activate the new maintenance • In reality, new maintenance is active once applied • Risks: • If the FL and/or CL is increased after introducing a new preventative service level and the maintenance proves to be unstable, you cannot backout to a previous maintenance service level which has a ML that is less than the respective FL and/or CL • Must fix forward! • Recommendations: • Run on a new preventative service level in production for a minimum of 3 months before raising the FL or running a CATMAINT to raise the CL in support of a new FL • Stabilize the zParm APPLCOMPAT setting at V12R1M500 • Stabilize the APPLCOMPAT setting of the Db2 Connect packages in the NULLID collection at V12R1M500 4 Data and AI on IBM Z Dos and Don’ts around Continuous Delivery … • More recommendations • APPLCOMPAT should be explicitly specified on every BIND ADD and BIND REPLACE • No BIND should rely on picking up the default value from zParm APPLCOMPAT • APPLCOMPAT is a “sticky” option on REBIND • zparm APPLCOMPAT should be set conservatively and down-level at V12R1M500 • SQLLEVEL setting in DSNHDECP should match the current Db2 Function Level • Db2 Connect packages in the NULLID collection should remain with APPLCOMPAT=V12R1M500 • For distributed applications looking to exploit new SQL features, the Db2 Connect packages should be bound into a new collection specific to the Function Level and with the corresponding APPLCOMPAT equal to the Function Level • Applications must be directed to the proper collection using the currentPackagePath property in the driver or by setting this special register using a System Monitor profile 5 Data and AI on IBM Z Dos and Don’ts around Continuous Delivery … • More recommendations … • The advancement of the Function Level of the data sharing group will be driven by one of the following • User requirement for new functionality tied to a specific Function Level • Maintaining currency aka “evergreening” e.g. every 2-3 years • Reminder: the Function Level of the data sharing group should not be increased until • Latest preventative service level has been proven to be running stable in production for at least 3 months • IFCID 376 has been used to analyze application incompatibilities and have them addressed • Investigation with vendors is complete, and the implementation is complete as to • What levels/patches are required to support/exploit the new Function Level • What the recommended APPLCOMPAT level should be for the BIND of the respective packages • Prior to exploiting any new Function Level beyond V12R1M500, the Db2 Connect infrastructure and drivers must be updated to the following minimum levels: • Need V11.1 FP1 (JCC driver level 3.72 to 4.22) • Db2 Connect Gateways must be updated to a minimum level of V11.5.1 • Apply PTF for Db2 APAR PH15092 to support down-level clients 6 Data and AI on IBM Z Dos and Don’ts around Continuous Delivery … • More recommendations … • Function Level V12R1M504 • After advancing the Function Level to V12R1M504 or later and running SQL DDL under a package having an APPLCOMPAT of V12R1M504 or later, then certain objects types are deprecated and any SQL DDL against these existing objects will fail e.g.: • Classic simple and segmented table spaces • Classic partitioned table spaces • Index controlled partitioned table spaces • Hash access table spaces • Synonyms • In order to run SQL DDL against these objects you must either downgrade the APPLCOMPAT of the associated package or preferably downgrade the APPLCOMPAT level by setting the special register (SET CURRENT APPLICATION COMPATIBLITY) • Reach out to all your tool vendors to identify which releases/patches are required to support Function Level V12R1M504 and will toggle the special register automatically 7 Data and AI on IBM Z Dos and Don’ts around Continuous Delivery … • Function Levels and Quiesced Db2 members of Data Sharing Group • Quiesced member = inactive member • A migrating member, or one that is changing the Catalog Level (CL) or Function Level (FL) will only check the maintenance levels of the active members in a Db2 data sharing group when determining if something can be done or not • If a quiesced member has a down level Maintenance Level (ML) it will not be checked • Potential issues will then arise when restarting the quiesced member • ML of quiesced member does not support the current CL or FL • Subject Db2 member will not be allowed to start • Db2 member is essentially orphaned until it is restarted with a library that has a ML that supports both the current CL and FL 8 Data and AI on IBM Z Db2 12 Migration resources • John Campbell’s webcasts − http://ibm.biz/DB2z2017WebcastSeries • Db2 12 Technical Overview Parts 1 & 2 • V12 Migration Planning and experiences “It’s all about robustness” • Db2 Advanced Class • Held twice a year in June and September • Normally held in IBM Hursley in June and IBM SVL in September • Held as virtual classes in 2020 because of COVID-19 • Join the World of Db2 for additional webcasts and materials − www.worldofdb2.com 9 Data and AI on IBM Z Now … Live Q&A with John Campbell 10.