If you have heard anything about Db2 Version 12 chances
are that you have heard about continuous
delivery. Instead of
waiting 2 to 3 years for a new version of Db2 to be released, new functionality
will be continuously delivered on a regular basis. The idea is to bring Db2
into the modern age of development practices where releases are small and
quick, instead of large and slow.
So instead of waiting for
the next version, Db2 professionals now wait on new Function Levels, where a Function Level identifies a set of new enhancements that can be enabled in Db2 for z/OS.
Of course, this means that
a lot of internal practices and procedures had to be re-engineered and
established at IBM, so there have not been many new Function Levels since Db2
12 was first released back in October 2016. There was Function Level 501 in
early 2017, which basically added a simple new built-in function, LISTAGG.
The LISTAGG built-in
function produces a list of all values in a group. An optional separator
argument can delimit items in the result list. For example, specifying a comma
as the separator produces a comma-separated list. An optional ordering can also
be specified for the items within the group. So for example:
SELECT WORKDEPT,
LISTAGG(LASTNAME, ', ') WITHIN GROUP(ORDER BY LASTNAME)
AS EMPLOYEES
FROM EMP
GROUP BY WORKDEPT;
LISTAGG(LASTNAME, ', ') WITHIN GROUP(ORDER BY LASTNAME)
AS EMPLOYEES
FROM EMP
GROUP BY WORKDEPT;
This will return a
comma-separated list of employee last names by department number.
Unless you needed
the capability of LISTAGG in your applications there was no reason to migrate
to Function Level 501. Except, of course, to test out moving to a new Function
Level, which is the primary reason that IBM released LISTAGG as a Function
Level. And that was it until recently…
Function Level 502 (FL502) was made
available by IBM in late April 2018. This is the first “real” Function Level
with multiple new capabilities that may entice your shop to implement it.
Here
are the capabilities introduced in FL502:
The first new feature bolsters DFSMS data set encryption (which is part of the Pervasive Encryption for IBM Z solution introduced with the z14). With FL502 we get KEYLABEL
management capability for z/OS DFSMS data
set encryption. You can manage the key labels for z/OS DFSMS data set encryption to transparently encrypt Db2 data sets.
DFSMS can be used to encrypt various types of Db2 data sets including Db2-managed table space and index space data sets, data sets that are used by Db2 utilities, and sequential input and output data sets.
After moving to FL502 an administrator (DBA, security admin, system admin or storage admin depending on your shop) can enable z/OS DFSMS data set encryption for your Db2 data sets.
Additionally, IBM offers a free tool, IBM z Systems Batch Network Analyzer (zBNA), which can be used to help estimate the costs of DFSMS data set encryption for your Db2 data sets. Additionally, the Db2 Statitistics Trace has been enhanced to report CPU time, which you can look at to help determine which data sets to encrypt.
DFSMS can be used to encrypt various types of Db2 data sets including Db2-managed table space and index space data sets, data sets that are used by Db2 utilities, and sequential input and output data sets.
After moving to FL502 an administrator (DBA, security admin, system admin or storage admin depending on your shop) can enable z/OS DFSMS data set encryption for your Db2 data sets.
Additionally, IBM offers a free tool, IBM z Systems Batch Network Analyzer (zBNA), which can be used to help estimate the costs of DFSMS data set encryption for your Db2 data sets. Additionally, the Db2 Statitistics Trace has been enhanced to report CPU time, which you can look at to help determine which data sets to encrypt.
The second enhancement
enabled with FL502 is the ability to cast an explicit numeric
value to a graphic string value. All of the numeric data types are supported. So
you can use the GRAPHIC or VARGRAPHIC built-in functions and/or the CAST
specification to cast numeric values to graphic string values. Regardless of whether
CAST or GRAPHIC/VARGAPHIC functions are used, the result is Unicode (UTF-16),
and the context must support Unicode data.
Implementing Function Level 502
You can activate Function Level
502 from Function Level 501, 500, 100, or as part of migration from Db2 11 (with z/OSMF only). Function level 502 requires catalog level 502, and
tailoring the catalog for level 502 requires function level 500 or 501. Take
care before activating any new Function level by making sure that you
understand what Function Levels are, how they are delivered, and the current
state of your Db2 subsystems.
You can easily view the current
state of your Db2 subsystems by using the -DISPLAY GROUP command. It will show
you the current Function Level, the high Function Level ever activated (which
might be higher than current if you fell back), and the highest possible Function
Level (based on the APARs that have been applied to your Db2 system).
What's Next?
Things are likely to speed up in terms of new Function Levels for Db2. Now that IBM has had time to implement new internal development proceudres and get them all test out appropriately, we should start seeing new capabilities more frequently than once a year... perhaps as frequently as quarterly. So make sure that you are ready to review every new Function Level as it is made available and make plans to activate the ones that deliver functionality that you need.
Another thing to keep in mind is that Function Levels are cumulative. So you cannot implment say, Function Level 502, without also getting the capabiltiies of all previous Function Levels (in this case, just 501). So be prepared and understand what activating a new Function Level means!
Welcome to the new world of
continuous delivery in Db2 for z/OS… and take a look at how the new capabilities
in Function Levels 501 and 502 might be useful at your shop and to your
applications.
No comments:
Post a Comment