Db2 Version 12 Stuff - neodbug• Db2 12, plus Function Level 503 activated), plus APAR PH02878 •...
Transcript of Db2 Version 12 Stuff - neodbug• Db2 12, plus Function Level 503 activated), plus APAR PH02878 •...
© 9/12/2019 BMC Software, Inc. 1© 9/12/2019 BMC Software, Inc.
Bill Moran
Db2 Version 12 Stuff
© 9/12/2019 BMC Software, Inc. 2
• Release Objectives- Continuous enhancement- Add features requested from Db2 customers- Continuous delivery – more later
• Release Timeline
Db2V12 Product Release
3/4/16
IBM BETA Db2 V12
Db2 V12.1 – GA10/16
SPE’s and PTF’s2017
SPE’s and PTF’s2018
SPE’s and PTF’s2019
More SPE’s and PTF’s
Db2 V11.1 – End of Service
9/20
© 9/12/2019 BMC Software, Inc. 3
—
Db2 12What Was New – a brief look
© 9/12/2019 BMC Software, Inc. 4
Sowhat
was new with
Db2 12?✓ Performance
Management
✓ Performance
✓ Changes for Applications
Perf
orm
ance
Man
agem
ent ✓ Security
✓ Utilities
Ad
min
istr
atio
n
✓ Availability
✓ Scalability
How do we get there?
✓ Continuous Delivery
© 9/12/2019 BMC Software, Inc. 5
Performance
Better Use of Storage
✓ Contiguous bufferpools✓ Improvement on
PGSTEAL NONE✓ Automatic overflow area✓ Save up to 8% CPU
In-Memory Indexes
✓ Index “Fast Traverse Block”✓ Faster traversal of index
pages✓ Storage area separate from
bufferpools✓Usage managed by Db2
✓ -DISPLAY STATS✓ IFCIDs 389 and 477✓ Exclude indexes if needed
✓ SYSINDEXCONTROL catalog table
✓ “Up to 23% CPU reduction” for index lookup✓ From IBM material
✓ Insert Algorithm 2✓Up to 20% CPU reduction✓Over 1 million inserts per
second
New Insert Algorithm
As always, “the new Db2 performs better than the old one”
© 9/12/2019 BMC Software, Inc. 6
Performance Overview – OLTP & Query *
OLTP✓ 2%-3% CPU reduction✓ 5%-10% increase with
Index FTB✓ Contiguous bufferpools
can improve this further
Query✓ 0-20% CPU reduction with
older access paths✓ 10%-40% reduction with new
access paths✓ 90% CPU reduction is possible
* Data from IBM Material
© 9/12/2019 BMC Software, Inc. 7
Dynamic SQL StabilityAdvanced Plan Management & Predictable Performance
• Bring advantages of Static SQL bind to dynamic SQL
• Allows dynamic SQL access paths to be retained in the catalog
• Can explain and free stabilized plans
• New SQL matched against stabilized plans before prepare/execute
• Access path can be read into cache from catalog
© 9/12/2019 BMC Software, Inc. 8
RUNSTATS ImprovementsMainly around Profiles
• Inline stats now support RUNSTATS profiles
• Optimizer can automatically update profiles
• Statement cache invalidations
• CLUSTERRATIO calculation “improvements”
© 9/12/2019 BMC Software, Inc. 9
• NEW! UTS PBR RPN– Relative Page Number
• Pages are numbered per partition
• Eliminates inverse relationship between number of partitions and individual partition size
• 7 byte RID (2 for partition, 5 for page number)
• Start of partition level attributes
Partition LimitsRoom for further growth
© 9/12/2019 BMC Software, Inc. 11
Insert Partition Index Compression
Online Schema Enhancements
Pending Altersfrom Immediate
More “DROP Avoidance”
© 9/12/2019 BMC Software, Inc. 12
Security Changes
• Transfer of ownership
• Installation/Migration without SYSDADM
• Unload privilege
• Long and CaMeL based DBRM names
© 9/12/2019 BMC Software, Inc. 13
Migration Requirements• Continuous Delivery Changes Single Phase Migration
Requirements✓ DFSMS v2.1✓ z/OS v2.1+✓ RACF v2.1✓ Db2 11 NFM✓ z196 machine or higher
Pre-Requisites✓ Db2 11 with fallback SPEs✓ BSDS supporting 10-byte RBAs✓ No pre Db2 10 bound packages✓ Basic row format is deprecated
© 9/12/2019 BMC Software, Inc. 14
Continuous Delivery
• IBM will deliver future changes in the maintenance stream- Much more aggressively than they have
in the past
• They will maintain “continuous production level reliability”
• Customers will not have to go through (as many) function upgrades
• RSU’s will be the same• This started after Db2 12 GA• This is IBM wide
- But Db2, IMS, CICS, MQ, and z/OS are all doing it differently
© 9/12/2019 BMC Software, Inc. 15
Continuous DeliveryFunction Levels
• “BNFA” (“CM” ) is now “function level 100” (FL100 or M100)
• Activate function level 500 (V12R1M500) to get new Db2 12 function
– Was “ANFA” aka “NFM”
• Activate function level (V12R1Mnnn) to get newer functions as appropriate
• Display group will tell us where we are and where we have been.
• Test option for activate
• Can (un)activate backwards
© 9/12/2019 BMC Software, Inc. 16
Continuous DeliveryFunction Levels
Db2 11
Db2 12
© 9/12/2019 BMC Software, Inc. 17
New Db2 12 Function Levels
•FL501 Onwards
© 9/12/2019 BMC Software, Inc. 18
The Function Levels after FL500
• FL501 (May 2017)• LISTAGG function
• FL502 (May 2018)• Encryption KEY LABEL
support in DDL• Explicit numeric casting
• FL503 (Oct 2018)• Support for Db2 AI• Temporal replication• Temporal auditing• Level change messaging
• FL504 (April 2019)• Huffman Compression• Deprecated Objects• Pass Through Functions• New SQL Alternatives
https://www.ibm.com/support/knowledgecenter/en/SSEPEK_12.0.0/wnew/src/tpc/db2z_db2functionlevels.html
• FL505 (June 2019)
• Rebind Phase-In
• Encryption Functions
• DECFLOAT Extensions
• RUNSTATS Page Sampling
• Temporal/Archive Transparency
© 9/12/2019 BMC Software, Inc. 19
The Function Levels after FL500
• “Roughly 4-monthly” delivery
• FL505 AND FL506 this year?
• Each delivering multiple functions/capabilities
• See https://www.ibm.com/support/knowledgecenter/en/SSEPEK_12.0.0/wnew/src/tpc/db2z_db2functionlevels.html
© 9/12/2019 BMC Software, Inc. 20
FL501 - LISTAGG
• Produces a list of all values in a group
• Optional separator argument can be provided
• Ordering can also be specified for the items within the group
20
© 9/12/2019 BMC Software, Inc. 21
FL503 – Support for Db2 AI
“IBM Db2 AI for z/OS leverages machine learning technology to empower the Db2 for z/OS optimizer to determine the best-performing query access paths, based on your workload”
21
© 9/12/2019 BMC Software, Inc. 22
Db2 AI – Pre-requisites
In addition to the hardware requirements specified for Machine Learning for z/OS• An additional 1 GB memory and available capacity
on the zIIP processors on the LPAR where Db2 12 is running
• z/OS 2.1 or later, with the Product Registration Services component
• Db2 12, plus Function Level 503 activated), plus APAR PH02878
• Machine Learning for z/OS, V1.2.0, plus APARs PI99400, PI99401 and PH02006
• Linux package 1.2.0.1 (separate packages are provided for x86-64 and Linux on Z)
22
© 9/12/2019 BMC Software, Inc. 23
Db2 AI – Other Thoughts
• This seems to be a non-trivial series of steps• Did you see that “… can easily consume all available resources on
the host z/OS system” statement?• Db2 AI is also a chargeable extra component
- How to cost-justify the expense- Who pays for the benefit this may bring?
• IBM development has SQL script to identify SQL statements with risk of a sub-optimal access path
23
© 9/12/2019 BMC Software, Inc. 24
FL503 – Temporal Auditing
• System Temporal historical queries COULD return incomplete data• Due to NULL values in the audit DATA CHANGE OPERATION column• Queries about the past would exclude these nulls• FL503 fixes this anomaly
24
© 9/12/2019 BMC Software, Inc. 25
FL503 – Temporal Replication
• A new built-in global variable, SYSIBMADM.REPLICATION_OVERRIDE• Default is “N”
• Applications not allowed to specify values for row-begin, row-end, transaction-start-ID, and generated expression
• Temporal history for system temporal data is enabled
• Alternate “Y”• Applications are allowed to specify values for row-begin, row-end, transaction-start-ID, and
generated expression• Temporal history for a system temporal data is disabled
• “Y” allows replication of temporal data, as if it were regular Db2 data• Intended for use by replication tools
• “… not intended for general use”
25
© 9/12/2019 BMC Software, Inc. 26
FL503 – CL/FL Messaging
• New console message DSNG014I• Issued whenever the function level or catalog level changes• DSNG014I member-name
DB2 NEW CATALOG|FUNCTION LEVEL (new-level)
DB2 CATALOG LEVEL (catalog-level)
CURRENT FUNCTION LEVEL (activated-level)
• Remember the SYSIBM.SYSLEVELUPDATES catalog table has the full story
26
© 9/12/2019 BMC Software, Inc. 27
FL504 – Huffman Compression
• Compression of Db2 data with hardware-based encoding (Huffman)With the IBM z14™ Compression Coprocessor (CMPSC)
• More efficient and greater compression
• Only available for universal table spaces
27
© 9/12/2019 BMC Software, Inc. 28
FL504 – Prevent creation of deprecated objects
• SQL statement in packages that are bound with APPLCOMPAT(V12R1M504) or higher, or with comparable SQL options in effect, are prevented from creating deprecated objects:
• Synonyms• Segmented or Classic Partitioned tablespaces
• SIMPLE tablespaces already blocked from creation
• Hash tables
• SET CURRENT APPLICATION COMPATIBILITY = V12R1M503 in an emergency
• But please take the hint
28
© 9/12/2019 BMC Software, Inc. 29
FL504 – New SQL alternatives for special registers and NULL predicates
• New syntax alternatives to simplify porting of applications from other platforms
• For example, support is introduced in Db2 for z/OS for the following alternative syntax for referencing existing special registers
29
© 9/12/2019 BMC Software, Inc. 30
FL505 – Rebind Phase-In
• Rebind a package concurrently with execution of the package• When rebind finishes, new threads use the new package copy immediately
• Existing threads continue to use the prior copy (the phased-out copy)• New threads immediately use the new copy (the phased-in copy)• Also enables switching to previous access paths and runtime structures
gradually• Switch to the previous access path is phased-in• Allowing regression recovery without incurring an application outage
30
© 9/12/2019 BMC Software, Inc. 31
FL505 – Encryption/Decryption Functions
• New built-in encrypt and decrypt data key functions• ENCRYPT_DATAKEY converts a block of plain text to a block of encrypted
text using a specified algorithm and key label• DECRYPT_DATAKEY functions return the block of encrypted text from
ENCRYPT_DATAKEY as a block of the datatype specified by the function used
31
© 9/12/2019 BMC Software, Inc. 32
FL505 – More Support for DECFLOAT
• Improved support for DECFLOAT datatype columns• Improved performance of mission critical applications• DECFLOAT columns can be specified
• In an index• As part of a primary or unique key
32
© 9/12/2019 BMC Software, Inc. 33
FL505 – RUNSTATS Auto Page Sampling
• Changes the default meaning of the STATPGSAMP subsystem parameter• Now means the same as YES• RUNSTATS uses page-level sampling by default for universal table
spaces• In function level 504 and lower, the default meaning is NO
• RUNSTATS does not use page sampling by default• Sampling is determined by the options that the RUNSTATS statement
specifies
33
© 9/12/2019 BMC Software, Inc. 34
FL505 – Temporal and Archive Transparency
• System-period temporal tables and archive-enabled tables can be referenced in WHEN clauses of both basic and advanced triggers
• Regardless of the settings of the SYSTIMESENSITIVE and ARCHIVESENSITIVE bind options
• Time machine and transparent archive data retrieval are fully supported in the WHEN clause
34
© 9/12/2019 BMC Software, Inc. 35
•https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/wnew/src/tpc/db2z_12_wnew.html
Lists ALL of the changes, OTHER than Function Levels, to Db2 12
© 9/12/2019 BMC Software, Inc. 36
What Next?
© 9/12/2019 BMC Software, Inc. 37
The Future
• Who knows?
• Function delivery is accelerating
• 1 in 2017
• 2 in 2018
• 2 so far in 2019
• And delivering more functionality in each function level
© 9/12/2019 BMC Software, Inc. 38
The Future
• Performance and Administration of “worlds best server”
• Some preparation for future changes
• Continued relaxation of limits
• Even more growth?
• Continuous Delivery ….
• Allied items, like “IDAA on z”
© 9/12/2019 BMC Software, Inc. 39
Thank You
Any More Questions ?