Skip to content

Personal tools
You are here: Home » DB2 » DB2 Distributed (UDB) Articles Archive » A Potential Workaround for a “Memory could not be written” Error when Installing an IBM® DB2® Universal Database™ Product
Seeking new owner for this high-traffic site.
Tap into the potential of this DBA community to expand your business! Interested? Contact us today.
Who Are You?
I am a:
Mainframe True Believer
Distributed Fast-tracker

[ Results | Polls ]
Votes : 4455

A Potential Workaround for a “Memory could not be written” Error when Installing an IBM® DB2® Universal Database™ Product

by Paul C. Zikopoulos

I recently came across a rare but inconvenient situation when installing another product, update, or maintenance fix pack for a DB2 Universal Database (DB2 UDB) product family customer. Save yourself at least a day, if not more, by taking ten minutes to read this article. If you ever personally come across this situation, you will be happy with your return on investment. If you ever see it on a colleague’s or customer’s workstation, this article will likely earn you at least a free lunch — it did for me!

Two Minutes on the DB2 UDB Version 8 Fix Pack and Update Taxonomy

In order to help identify feature-oriented ship vehicles from fix-oriented vehicles in the DB2 UDB v8 release, those that mainly deliver fixes to a DB2 UDB installation are called fix packs; those that mainly deliver new features are called updates.

At the time this article was written, there have been four delivery vehicles for the DB2 UDB v8 release: fix pack 1, followed by the v8.1.2 update, followed by fix pack 3, followed by the DB2 UDB v8.1.4 update.

All ship vehicles are cumulative in nature, as shown in the figure below. Therefore, applying Fix Pack 3 will also include everything delivered by the v8.1.2 update and fix pack 1.

(I have covered this in a previous article, but the new naming convention still hasn’t caught on, so that is why I repeat it in this one.)

Three Minutes So We’re on the Same Page (… and a Tip that Will Save You Even More Time!)

I work with a customer who has a DB2 UDB ESE v8.1.4 for Windows® installation. Recently, this customer decided to add DB2 Cube Views to a server workstation to take advantage of an OLAP-aware DB2 UDB database to power up their analytic front-end tools.

I told them that the fastest way to install a new add-on DB2 UDB product to an existing installation is to download the fix pack or update for the new product that corresponds to the existing level of the DB2 UDB server. (That is a great tip, by the way.)

To find out the fix pack or update level for a DB2 UDB server, enter the db2level command, as shown below:

In the example above, you can see that the current code level for this machine is DB2 UDB v8.1.4 Since this DB2 UDB ESE server has the version v8.1.4 update installed on it, the DB2 UDB product that is being added must end up at the same code level.

In the Windows environment, there are two ways to do this:

1. You can install the product (in this case, DB2 Cube Views)  from the CD-ROM or image that was provided when the code became generally available (DB2 Cube Views was delivered on the v8.1.2 update level), and then apply the corresponding update or fix pack to bring it to a consistent level with the DB2 UDB server. This would involve not only performing an initial installation, but also time spent downloading the corresponding fix pack or update and installing it as well.

2. In the DB2 UDB for Windows world, fix packs and updates are complete installation images for their respective code levels. (This change took effect as of fix pack v8.1.3 and applies to any subsequent fix packs or updates.) This means that you can download a fix pack or update for a product and it will install in Try-and-Buy mode. After the single installation (as opposed to two of them in the previous option), all that is left to do is register the proper license key for the product (more on that in a bit).

(Tip: Even if you didn’t own DB2 UDB, you could download the DB2 UDB ESE version v8.1.4 update, install it, and you would have a Try-and-Buy version of DB2 UDB ESE installed on your system at the v8.1.4 level; that’s pretty convenient!)

Based on full installation image information for Windows-based updates and fix packs, the customer downloaded the v8.1.4 update for Cube Views and installed it on their machine. (The problem they encountered, and its workaround, is shown below as follows; for now, I want to finish what needs to be done if you install a DB2 UDB product using my tip.)

Again, when you install an add-on product using the suggested method I outlined previously, the only thing you need to do is add the license key to the installation to avoid the 90-day time out included in all Try-and-Buy code. You can check and work with the license status for all of your DB2 UDB products using the License Center, shown as follows:

You can see that the product added to this server is in Try-and-Buy mode (for clarity, I highlighted in it in the previous circle). All that is left to do is to add the license key (located on the media or in the image), by clicking License  Add from the menu bar.

Four Minutes on What Could Drive You Insane

After downloading the v8.1.4 update for Cube Views (it could be any package, but I am keeping with the example here), the customer subsequently unpacked the download and started the installation program. (You may not need to do this, it depends if you are performing other installs as well.)

When the installation program started, as usual, the typical Launchpad appears.

After the installation program completed setting up the installation environment, the Next button became available (which obviously needs to be clicked to start the installation). A few minutes later, the following window opened, which came as a surprise:

After clicking Finish, a memory exception error was encountered and the following errors message was displayed:

It’s outside the scope of this tip to detail exactly what happened here. Truth is, you likely don’t care; you just want your product to be installed.

One Minute That Will Save You At Least One Hundred

If you have encountered this problem, try a potential solution that could save you a lot of time. I found that if you enable a trace (which the service team would have you perform if you called in for help anyway), you will be able to bypass this error since more memory will be allocated to the installation program (because of the trace) and therefore the memory segment causing the offending error will be bypassed.

To install a fix pack or update with tracing enabled, simply enter the setup command as shown below:

The workaround I gave you (turning on the installation tracing) is safe. When tracing is turned on for the installation program, the only difference is:

      • It now dumps information from the installation process into the tracing file (along with more information into the log file), for each function it executes. For example, I/O values of the functions, internal checkpoints, and so on.
      • It takes much more time to complete the installation because there is a lot of disk-writing to the log and, more importantly, to the trace files. For example, a typical DB2 UDB ESE installation in this mode will generate an 8 to10 MB trace file and a much bigger log file.

The reason the installation works when tracing is enabled is because the memory allocation is different from a normal installation — more memory space is needed for tracing and is therefore allocated. For whatever reason the situation I have described occurs (perhaps a bad memory spot allocation, perhaps something wrong with the memory on my machine), this method should always bypass such a memory problem.

Let’s hope you never encounter this problem. Again, I see this very rarely, and I am not even sure how to recreate it, but this method seems to get the job done, which is what we all just want to do, right?


Paul C Zikopoulos, BA, MBA, is an award-winning writer and speaker with the IBM Database Global Sales Support team. He has more than seven years of experience with DB2 UDB and has written numerous magazine articles and books about it. Paul has co-authored the books: DB2 - The Complete Reference, DB2 Fundamentals Certification for Dummies, DB2 For Dummies, A DBA’s Guide to Databases on Linux, and DB2 Version 8: The Official Guide. 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:

DB2, DB2 Universal Database, and IBM are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
The opinions, views, and instructions in this article represent those of the author and not IBM.

Contributors : Paul C. Zikopoulos
Last modified 2005-04-12 06:21 AM
Transaction Management
Reduce downtime and increase repeat sales by improving end-user experience.
Free White Paper
Database Recovery
Feeling the increased demands on data protection and storage requirements?
Download Free Report!

Powered by Plone