Skip to main content

Get a smooth upgrade to DB2 UDB FixPack 10

Ten minutes that could save you a hundred

Paul Zikopoulos (paulz_ibm@msn.com), Senior Specialist, DB2 Competitive Technologies Team, IBM Toronto Lab
Photo: Paul C. Zikopoulos
Paul C. Zikopoulos, BA, MBA, is an award-winning writer and speaker with the IBM Database Competitive Technology team. He has more than ten years of experience with DB2 UDB and has written over sixty magazine articles and several books about it. 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 Under Linux. Paul is a DB2 Certified Advanced Technical Expert (DRDA and Cluster/EEE) and a DB2 Certified Solutions Expert (Business Intelligence and Database Administration). In his spare time, he enjoys all sorts of sporting activities, running with his dog Chachi, and trying to figure out the world according to Chloe, his new daughter. You can reach him at paulz_ibm@msn.com

Summary:  Are you trying to apply DB2 FixPack 10 maintenance to your IBM® DB2® Universal Database™ for Linux®, UNIX®, and Windows® (DB2) server and getting a SQL0443N SQLSTATE=38553 error? Spending 10 minutes of your time reading this article will not only help you solve this problem; it will prepare you for future installations, and perhaps enable you to help a colleague or two.

Date:  22 Sep 2005
Level:  Introductory
Activity:  1076 views

Introduction

IBM recently released DB2 FixPack 10 (also known as DB2 Version 8.2.3, which is also known as DB2 Version 8.2 with FixPack 3 of the V8.2 maintenance stream -- depending on how you acquired the product). In many client environments that I've been engaged with lately, they've run across a SQL0443N error after installing this FixPack. There are actually steps in the DB2 README file that warn you of this, and require you to perform certain post-installation tasks to avoid the issue, but the truth of the matter is that few people really read the README. (I suppose if it were called the DONOTREADME file, users might be more interested in its contents.)

I decided to write this article for two reasons:

  • To perhaps reach out through a different medium and communicate a simple step that you should really be performing after applying any DB2 FixPack or Update to your DB2 servers. This step can ultimately save you valuable time and frustration.
  • Even I missed this documented step (the shame of it all, working for IBM) and ruined a presentation I was giving that involved a live demo.

In this article, I'll give a quick overview of DB2 FixPack 10 (this is what I'll refer to this code delivery vehicle as, but you can feel free to use any synonym you want), and describe the problem (it only affects DB2 servers, not DB2 clients), how it happened, and how to avoid it. Taking ten minutes to read this article could save you a hundred.


What's in DB2 FixPack 10?

DB2 FixPack 10, as its name implies, is more of a maintenance than feature based code delivery vehicle. In fact, DB2 FixPack 10 doesn't really deliver much new functionality to the DB2 code base at all. It does however have a number of platform extensions for existing products -- especially in the area of Linux.

Specifically, DB2 FixPack 10 includes:

  • An updated and simplified driver for PHP application development with the free Zend Core for IBM tooling that makes PHP and DB2 application development easier than ever.
  • An expansion of the platform support for DB2 Query Patroller to include 64-bit support on Linux for iSeries and pSeries IBM eServers on the Power5 architecture.
  • Support for the newly released HP-UX Version 11.23 release on PA-RISC.
  • CLI target column support for the LOAD utility.
  • A new specially priced DB2 Connect Unlimited Edition for iSeries product.
  • The availability of a 31-bit DB2 Run-Time Client for 64-bit Linux on z/OS.

The following figure shows a number of methods by which you determine the level of your DB2 server:


Figure 1. Finding the code level of your DB2 server.
Finding the code level of your DB2 server.

The problem

You installed DB2 FixPack 10 in your environment and sometime later, the support phone starts ringing off the hook. Your business analysts run into problems when performing their budgetary forecasts using Microsoft Excel and report the following error:


Figure 2. The error end users will experience in Microsoft Excel if you didn't read the README file.
The error end users will experience in Microsoft Excel if you didn't read the README file

In addition to this, your application development teams start to call because when they try to populate one of their IBM Rational Application Developer database projects with the schema from a DB2 database connection, they get the same error:


Figure 3. The error end users will experience in IBM's Rational Application Developer if you didn't read the README file.
The error end users will experience in IBM's Rational Application Developer if you didn't read the README file

Obviously it's the same error, and as a good DBA, you first look to see the error description, which doesn't get you very far:


Figure 4. The SQL0443N error description.
The SQL0443N error description.

Frustrated you make a service call and figure out that this could have been prevented all along if you read the README file (see the next section).

The problem you are in all likelihood experiencing with this error comes from the fact that for this particular FixPack, a new version of a bind file needs to be rebound to the database: the culprit is @db2schema.bnd. In DB2 FixPack 9a (and other previous FixPacks and Updates), the corresponding package bound to the database was NULLID.SQLL9E0L. In DB2 FixPack 10, the package name changed to NULLID.SQLL9E00. Because the package name is different, the search for the new package at runtime results in an error since it isn't bound to the database (as in the previous examples).

Most clients are used to binding the @db2ubind.lst and @db2cli.lst files (ever since DB2 Version 5.x), but @db2schema.bnd isn't required all the time and is tripping a lot of clients up with DB2 FixPack 10.


The solution -- The 10 minutes that save you 100 part

I'm not going to tell you to read the README file, and that you would not have run into this problem if you did. Well, it is true, you should read the README file - but I missed this one too. I guess this is a learning lesson for all of us to actually read the README file for any of our products, but I've passed along this irritant to our development teams for DB2 and there are some processes in place to minimize this kind of stuff.

With all that said, here's the solution (from the README file of course) to fix the issues caused by applying the DB2 FixPack 10 maintenance vehicle on your DB2 server:

1.3.5.5 Bind db2schema.bnd to existing databases

After installation on the server, an additional bind file needs to be
bound to existing databases. This requirement does not apply to clients.

Procedure

To bind db2schema.bnd on the server, execute one of these command
sequences: 

At a command prompt:
        db2 terminate
        db2 CONNECT TO <dbname>
        db2 BIND <path>/db2schema.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue
        db2 terminate
  or,
At the DB2 command line:
        TERMINATE
        CONNECT TO <dbname>
        BIND <path>/db2schema.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue
        TERMINATE  

where <dbname> represents the name of a database to which the utilities
should be bound, and where <path> is the full path name of the directory
where the bind files are located.

The good news is that you only have to perform these commands on your DB2 server, not on any DB2 client machines.

From looking at the README file, the solution is quite easy. In fact, after every DB2 FixPack or Update, you'll note that you're asked to perform rebind steps as a post-installation step.

So, to solve this problem (and prevent it in the future), you simply enter the commands from the README file as shown below and that phone stops ringing:


Figure 5. Rebinding the @db2schema.bnd file to solve the problem.
Rebinding the @db2schema.bnd file to solve the problem.

Wrapping it up

So now that you know how to quickly fix (and in the future prevent) this problem, you may be wondering why you haven't seen this kind of problem in some of the previous DB2 FixPacks or Updates that you've applied to your DB2 server environment.

The truth is that you should be rebinding some files, as indicated by the README file, every time you apply a FixPack or Update to your DB2 server. With that said, you may have not run into this problem with previous DB2 FixPacks or Updates because the only time the package name in question for this problem changes is if there is a bug-fix in the package's embedded SQL code. So, previous FixPacks and Updates didn't have a fix to this package, but DB2 FixPack 10 did. Again, we'll look for better ways to handle this nuisance in the future -- but please start reading that README file (I know I will).


Resources

Learn

Get products and technologies

Discuss

About the author

Photo: Paul C. Zikopoulos

Paul C. Zikopoulos, BA, MBA, is an award-winning writer and speaker with the IBM Database Competitive Technology team. He has more than ten years of experience with DB2 UDB and has written over sixty magazine articles and several books about it. 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 Under Linux. Paul is a DB2 Certified Advanced Technical Expert (DRDA and Cluster/EEE) and a DB2 Certified Solutions Expert (Business Intelligence and Database Administration). In his spare time, he enjoys all sorts of sporting activities, running with his dog Chachi, and trying to figure out the world according to Chloe, his new daughter. You can reach him at paulz_ibm@msn.com

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=94368
ArticleTitle=Get a smooth upgrade to DB2 UDB FixPack 10
publish-date=09222005
author1-email=paulz_ibm@msn.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers