DB2 Connect is a licensed product which allows applications to connect to DB2 for Z® and DB2 for i® data servers using various driver APIs like CLI/ODBC, JCC/JDBC, .NET provider, embedded SQL, etc. There are various DB2 Server Editions which based on the organization need customer would buy one of those. lists the same (search for “DB2 Connect”). This article concentrates only on the license mechanism in DB2 Connect Unlimited Edition for system Z® and DB2 Connect Unlimited Edition for system i®.
Prior to DB2 V9.7 FP3, a license was needed at the client work station when connecting to DB2 for z/OS® and DB2 for IBM i®. In order to obtain the license, customers were needed to purchase a specific DB2 Connect edition. If Customers purchase DB2 Connect Unlimited Edition for system Z® and DB2 Connect Unlimited Edition for system i® for direction connections to host servers, each of these editions has a license kit and the license file/jar (e.g. db2consv_zs.lic for non java clients and db2jcc_license_cisuz.jar for java clients) deployed in the activation kit / CD which need to be registered at each client machine that wishes to access the DB2 for z/OS or DB2 for IBM i host systems and hence the licensing mechanism is termed as “client based unlimited licensing”. A detailed list of various DB2 Connect offerings is listed below:
The detailed description of licensing in DB2 can be found below:
Shortcomings in client based unlimited licensing:
Outlined below are the short comings that existed with client based unlimited licensing model:
Need to install/register the license in each client machine where data access is desired.
Once an unlimited license is installed in a machine, access is available for any z/OS subsystem, not just the one that was activated.
How did we overcome above listed shortcomings:
Starting DB2 Connect V9.7 FP3, IBM introduced alternate and recommended mechanism to apply “DB2 Connect Unlimited Edition for System z® (Host Server and MSU)” license over traditional client-side local db2consv_zs.lic file and starting DB2 Connect V10.5, IBM has extended new license mechanism even with DB2 for IBM i® data servers as alternate way to apply “DB2 Connect Unlimited Edition for System i® (Managed Processor) “ (traditionally using db2consv_is.lic).and the method is referred to as "server based unlimited licensing". This new method needs user to run db2connectactivate utility which activates “DB2 Connect Unlimited Edition for System z® (Host Server and MSU)” and DB2 Connect Unlimited Edition for System i® license on the server.
describes various options of db2connectactivate utility. db2connectactivate was designed to implement server based licensing that would install host based license when connecting to DB2 for z/OS and DB2 for IBM i. Please note that the server based license only applies to direct connect configurations. A license file is still required at the DB2 Connect server when using DB2 Connect gateway server to connect to host databases (DB2 for z/OS and DB2 for IBM i)
Advantages to Server based unlimited licensing:
License is activated ONLY once per z/OS database.
Limits the access to the databases on which the license is installed.
What is db2connectactivate utility?
db2connectactivate is a Java-based license activation utility and is shipped as part of the DB2 Connect activation kit for “DB2 Connect Unlimited Edition for System z® (Host Server and MSU)” and “DB2 Connect Unlimited Edition for System i® (Managed Processor) “ versions. Users can as well download this activation kit from IBM passport advantage access.
For more details on where to get db2connectactivate and its pre-requisites, One can refer to the link below:
where to get db2connectactivate and pre-requisites
db2connectactivate utility creates SYSIBM.DB2CON_LIC stored procedure on the database server which carries necessary license key information for activation of “DB2 Connect Unlimited Edition for System z® (Host Server and MSU)” license. If database server is version before V9, then equivalent UDF viz. SYSTOOLS.DB2CON_LIC will be created (as those servers does not support stored procedures).
Starting DB2 Connect V10.5, IBM has extended use of license SP even with DB2 for IBM i® data servers as alternate way to apply “DB2 Connect Unlimited Edition for System i® (Managed Processor) “ (traditionally using db2consv_is.lic) and db2connectactive utility is accordingly enhanced to allow installing license on DB2 for IBM i data servers. This licensing mechanism would be invoked by non-java clients when the IBM i® server version is V5R4 or later.
Users would need to have SYSADM privileges to execute db2connectactivate utility. Once the license is installed successfully, the package SYSLIC would be granted execute permissions to public and hence even a non-SYSADM user should be able to connect to the database.
User (likely DBA) need to ensure for which DB2 for z/OS and DB2 for IBM i host server, an unlimited edition of DB2 Connect license is purchased. Using db2connectactivate.sh (or .bat, on Windows platform), such user can install license on that target DB2 for z/OS and DB2 for IBM i server. Usually, stored procedure DB2CON_LIC under the schema SYSIBM will get created as a result of running db2connectactivate script. As DB2 for z/OS V8 does not support stored procedure, a scalar function will be installed under SYSTOOLS schema instead. (that means for DB2 for z/OS V9 and above, stored procedure will be created).
License key is per release (when to update):
DB2 Connect license update is needed at every major release. However, during a fixpack upgrade of the same release, existing license key keeps the validity. For example, if user has DB2 Connect V9.7 Fixpack 3 with a valid license key (either as client local license key, or as a server license ), upgrade to V9.7 Fixpack 7 uses same license key. However, if user upgrades it to DB2 Connect V10.1 Fixpack 2, license renewal is needed by either requesting V10.1 client license key file or use V10.1 db2connectactivate utility to recreate V10.1 license. Note that upgrading license from an older release level of DB2 Connect to the newer level continue to allow older DB2 Connect client drivers to connect. Hence users just need to maintain a single latest DB2 Connect license on the database server.
When user upgrades from V8 to V9, non-java clients would use the V8 license if the V9 license does not exist ( i.e if the license is not already installed on V9) and if valid client side license does not exist. Hence, it is recommended to run db2connectactivate utility from V9 so that the license is installed successfully.
I hope that my blog would be beneficial to everyone who are utilizing IBM's DB2 Connect offering to connect to host systems using server based licensing model in DB2 Connect Unlimited Edition for System z® and DB2 Connect unlimited Edition for System i® by activating server license using db2connectactivate.
Disclaimer : The information provided in this article is solely based on my understanding of the licensing requirement and installation of the license for direct connect configurations using DB2 connect unlimited edition for System z® and DB2 connect unlimited edition for System i® and that IBM shall not be held responsible for any discrepancies that may be found in the content.