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
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
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
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
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
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
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
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
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.