DB2 Universal Database for Windows Deployment Enhancements in "Stinger"
June 29, 2004
by Paul C. Zikopoulos and Roman B. Melnyk
If you are a systems administrator whose responsibilities include deploying DB2 Universal Database (DB2 UDB) for Windows software, there are some new features in DB2 UDB "Stinger" that are going to make your job easier. In this article, we will introduce you to the new DB2 Run-Time Client Lite, a new utility called db2iprune, and the new DB2 for Windows updater service. All of these are features planned for the next release of DB2, codenamed DB2 UDB "Stinger".
Why the Focus on Windows Deployment Issues?
The Windows operating system is installed on more that 90% of all end-user workstations, and there can be vexing deployment challenges to overcome when you have to distribute and apply maintenance to software residing on many workstations.
For example, how do you distribute a 500-MB image to end users whose sole connectivity method is a plain old telephone service (POTS)? (Don't laugh, they still exist!) What kind of network and infrastructure considerations do you have to address in order to deploy 100-MB of features in an 800-MB image?
These considerations (and more) can be addressed through flexibility in the installation process, as well as an architecture that is focused on deployment. "Stinger" puts a great deal of focus on easing deployment considerations for system administrators.
DB2 Run-Time Client Lite
Before DB2 UDB "Stinger," there were three different kinds of clients to address the needs of users requiring connectivity. The DB2 product documentation describes these clients as follows:
DB2 Run-Time Client
The DB2 Run-Time Client is a lightweight client that provides the functionality required for an application to access DB2 and DB2 Connect servers. Functionality includes communication protocol support and support for application interfaces such as JDBC, SQLj, ADO.NET, ODBC, CLI, OLE DB, and more. Most of the graphical user interface (GUI) tools have been removed from this client to make it as small as possible.
DB2 Application Development Client
The DB2 Application Development Client is a collection of graphical and non-graphical tools and components for developing character-based, multimedia and object-oriented applications. Special features include the DB2 Development Center and sample applications for all supported programming languages. The DB2 Application Development Client also includes the tools and components provided as part of the DB2 Administration Client.
DB2 Administration Client
The DB2 Administration Client provides the ability for workstations from a variety of platforms to access and administer DB2 databases. The DB2 Administration Client has all the features of the DB2 Run-Time Client and includes all the DB2 administration tools and support for Thin Clients.
Despite the feature and file restriction efforts associated with the DB2 Run-Time Client, it is still about 80-90 MB in size, a size that poses problems for some deployment strategies. "Stinger" introduces a repackaged and more compact client for Windows installations, called DB2 Run-Time Client Lite. This new client is more suitable for enterprise deployments and for mass redistribution by the intermediate software vendor (ISV) community.
DB2 Run-Time Client Lite provides the application programming interfaces (CLI, ODBC, OLE DB, .Net Data Provider, JDBC, SQLJ and so on) and the network libraries required by applications that use these interfaces. DB2 Run-Time Client Lite does not provide any tooling or utilities; it provides only the file sets that are required for connecting applications. This design creates a footprint that is estimated to be about 12 MB (and puts the run back into run-time!).
DB2 Run-Time Client Lite can be distributed as a single executable file, or as Windows Installer Merge Modules that can be directly embedded in an application's Windows Installer-based setup program. This new client also ships with its own licensing terms and conditions, delivered in a concise format within a simple text file. The agreement allows for the royalty-free redistribution of this client code by ISVs or in-house programmers.
As previously mentioned, DB2 Run-Time Client Lite can be distributed as a Windows Installer Merge Module (.msm) file. These merge modules are compatible with all authoring environments and with the Merge Module 2.0 Object model.
Although not for the Windows platform specifically, (as is the case with the other features outlined in this article), "Stinger" will also allow for the redistribution of its Type 4 JDBC driver for Java-based application connectivity. This means no longer installing a DB2 client to grab the Java driver files and redeploy them elsewhere (which you weren't supposed to do before "Stinger" anyway). The "Stinger" Type 4 JDBC driver is approximately 2 MB in size.
In summary, look for "Stinger" to deliver a new client designed from the ground up for hassle-free deployments on Windows, along with a redistributable stand-alone Type 4 JDBC driver. These new features should just about eliminate any sizing concerns you might have when deploying connectivity solutions to a DB2 server.
The db2iprune Utility
You might sometimes want to be able to remove specific components from a DB2 installation image because it contains features or functions that you do not need. The problem is that DB2 requires that an installation image contain every possible component, even the ones you do not want to install. Even though the DB2 installation methods give you the granularity to install only those components that you need, the DB2 installation image is a superset of all the possible components that you could select. This can make the distribution of some DB2 for Windows products cumbersome. Imagine if you only needed 200 MB of code from an 800-MB image - those extra 600 MB could cause some problems.
To address this issue, "Stinger" introduces the new db2iprune utility on Windows. This utility makes it possible to selectively prune a "Stinger" installation image by removing components from the image before deployment. For example, if none of your DB2 for Windows installations will make use of the Data Warehouse Center (and its related components), you could choose to prune this component from your image before deploying it to reduce the size of the image, decrease network traffic and reduce installation times.
You use the db2iprune utility with an input file to specify the particular components that are to be removed from an image. If a component has prerequisites, these will automatically be removed as well.
The db2iprune utility, an accompanying README file and sample input files are provided on the installation CD in the x:\db2\windows\utilities\db2iprune directory. (Note: This utility was not part of the open beta released in May 2004.)
The syntax of the db2iprune command is:
db2iprune -r <input_file> -p <source_image> -o <new_image>
For example, to prune a DB2 Run-Time Client installation image located on the e:\ drive with the c:\db2rtcl.prn file, and create the new pruned image in the e:\compact_rtcl directory, issue the following command:
db2iprune -r c:\db2rtcl.prn -p e:\ -o e:\compact_rtcl
Of course, you cannot prune DB2 Run-Time Client Lite, because this client already represents the minimum file set required for DB2 connectivity.
When you run an interactive installation from a pruned image, the component options presented are only those that are part of the pruned image. For example, if you removed the DB2 Data Warehouse Center from an installation image, it would not be presented as an optional or pre-selected component in the installation wizard. When you run a silent installation from a pruned image, only those components that reside in the pruned image will be installed. If the response file specifies a component that is not in the pruned image, that specification is ignored.
The maintenance application process for a DB2 UDB product is the same whether or not the installation image was a full image or a pruned image. Any maintenance to a DB2 UDB product that was installed from a pruned image is seamless.
DB2 for Windows Updater Service
Another useful feature for DB2 for Windows deployments in "Stinger" is support for a DB2-specific InstallShield Update Service. This service will check for available updates, as well as provide timely information on DB2, alerts, samples, and so on. An example of this service is shown below.
This article describes three new features (DB2 Run-Time Client Lite, a new utility called db2iprune, and the new DB2 for Windows updater service) that are bound to make life easier for you if you are a systems administrator whose responsibilities include deploying DB2 UDB for Windows software.
In the last couple of months, we have been introducing you to many of the new features that are coming in "Stinger." However, there are over 200 new features in this release. We encourage you to download the "Stinger" beta and try these features out for yourself!
About the Authors
Paul C. Zikopoulos, BA, MBA, is with IBM Canada Ltd. Paul has written numerous magazine articles and books about DB2. Paul has co-authored the books: DB2 Version 8: The Official Guide, DB2: The Complete Reference, DB2 Fundamentals Certification for Dummies, DB2 for Dummies, and A DBA's Guide to Databases on Linux. Paul is a DB2 Certified Advanced Technical Expert (DRDA and Cluster/EEE) and a DB2 Certified Solutions Expert (Business Intelligence and Database Administration). You can reach him at: paulz_ibm at msn.com.
Roman B. Melnyk, PhD, is with IBM Canada Ltd., specializing in database administration, DB2 utilities, and SQL. Roman has written numerous DB2 books, articles, and other related materials. Roman co-authored DB2 Version 8: The Official Guide, DB2: The Complete Reference, DB2 Fundamentals Certification for Dummies, and DB2 for Dummies. You can reach him at roman_b_melnyk at hotmail.com.
The contents of this article represent those features that may or may not be available in the technology preview or beta. IBM reserves the right to include or exclude any functionality mentioned in this article for the "Stinger", or a subsequent release. As well, any performance claims made in this article are not official communications by IBM; rather the result observed by the authors is un-audited testing. The views expressed in this article are those of the authors and not necessarily those of IBM Canada Ltd. or the IBM Corporation.