IBM Support

Manual complete cleanup scripts for WebSphere Application Server V5.1 thru V7.0 on AIX and IBM HTTP Server V1.3 thru V7.0 on AIX

Troubleshooting


Problem

Under some circumstances, the information associated with WebSphere Application Server product installation stored in the AIX ODM VPD can become corrupt or partially deleted. This will prevent the WebSphere Application Server product installer from working properly. This script cleans all WebSphere Application Server entries out of AIX ODM VPD to resolve issues installing new instances of the product.

Cause

Please read the instructions for the cleanup process, then proceed to the downloads section.

The AIX Object Data Manager Vital Product Data tables (AIX ODM VPD) are used to track data associated with WebSphere Application Server V5.1, V6.0, and V6.1 and IBM® HTTP Server V1.3, V2.0, V6.0, V6.1, and V7.0 product installations. For various reasons, these tables need to be cleaned to repair failed installations or uninstalls of WebSphere Application Server or IBM HTTP Server products. For more information concerning the use of the ODM VPD by WebSphere Application Server and descriptions of common problem scenarios, refer to the Explanation of AIX ODM VPD and its relationship with WebSphere Application Server products.

This article provides information about a specific method of cleaning the AIX ODM VPD using a "wipe script". This script cleans out all entries associated with WebSphere Application Server V5.1, V6.0, V6.1, and V7.0 and IBM HTTP Server V1.3, V2.0, V6.0, V6.1, V7.0 from the AIX ODM VPD, thereby allowing a new release of WebSphere Application Server or IBM HTTP Server installation to take place.

The cleanup affects several WebSphere Application Server versions
This cleanup script cleans all entries related to WebSphere Application Server V5.1, V6.0, V6.1, and V7.0. If you intend to clean (delete) entries related to an older version of the product and you also have a newer version of the product installed, then both the old entries and new entries will be deleted.

If you need to selectively remove entries related to one particular installation of WebSphere Application Server, you can use the targeted removal script explained a separate technote.

This cleanup process has no effect on WebSphere Application Server V8.0 products. V8.0 products use IBM Installation Manager to manage the product installation process, and that installation process does not write WebSphere-specific entries to the ODM.

WebSphere Application Server V5 Embedded Messaging is not affected
These scripts do not affect entries related to Embedded Messaging or WebSphere MQ, which are related to WebSphere Application Server V5.1. The mqm and wemps entries associated with Embedded Messaging and WebSphere MQ remain intact in case an independent installation of WebSphere MQ is present, or another installation of an application server is utilizing Embedded Messaging on the system. It is safe to use these wipe scripts even when Embedded Messaging or WebSphere MQ is present on the system.

If it is necessary to clean up entries related to Embedded Messaging, then refer to the Information Center for your release for more details. Search for the article named "Manually uninstalling on AIX platforms" applicable to the appropriate version and edition of WebSphere Application Server which needs to be wiped from the system.

Resolving The Problem

Use these instructions for running the cleanup script.

  1. Download one or both of the scripts attached below. Note that one of the scripts is intended for cleaning WebSphere Application Server product entries, and the other script is intended for cleaning IBM HTTP Server product entries.

  2. Log in as the actual root user.

  3. Create a temporary directory, and place the script in that directory.

  4. Review the section for How to back up the ODM files. You can back up the ODM files into subdirectories within the temporary directory.

  5. Add execute permission to the script. For example:

  6. chmod +x manual_WebSphere_ODM_wipe.sh

  7. Run the script. For example:

  8. ./manual_WebSphere_ODM_wipe.sh

    Note: If WebSphere Application Server was installed using a non-root user at some point, also run the utility with the "-a" parameter. (Non-root installations are supported with WebSphere Applicaiton Server V6.1 or later.) For example:

    ./manual_WebSphere_ODM_wipe.sh -a

  9. Once the script has run, preserve all the clean.*.txt files and the backup copy of the vpd.properties file produced in the current directory. If IBM Support needs to provide further assistance, this information will be useful for problem determination.

  10. The ODM is now cleaned of WebSphere Application Server product entries. Existing WebSphere Application Server products will continue to operate normally.

    If you intended to completely remove a particular installation of WebSphere Application Server product, refer to the "Additional removal steps" section below.

    If you do not intend to remove a working instance of the product, or if you are attempting to resolve installation or "lppchk" errors, then you do not need to proceed further. At this point, you are done.


Additional cleanup steps for completely removing product
  1. For V6.1 and V7.0 products, if you intend to completely remove one or more instances of the product from the system, then refer to the section below, Additional cleanup step for V6.1 and later products. These steps ensure that certain registry entries are completely removed, and should only be used when you intend to completely remove the product from the system. If you intend to continue to use the existing product installation, then skip those instructions.

  2. For V5.1 products, refer to the section below, Additional steps for handling the vpd.properties file. Note that these additional steps are important if DB2 Content Manager V8.3 or the DB2 Content eClient is installed on the system in addition to WebSphere Application Server V5.1.


No additional cleanup steps are required for V6.0 products.


Scripts for cleaning product entries


File
Version
Comments

manual_WebSphere_ODM_wipe.sh

1.4
(latest)

Download this script in order to clean WebSphere Application Server V5.1, V6.0, V6.1, or V7.0 product entries from the AIX ODM VPD.
manual_IHS_ODM_wipe.sh

1.5
(latest)

Download this script in order to clean IBM HTTP Server V1.3, V2.0, V6.0, V6.1, or V7.0 product entries from the AIX ODM VPD.




How to back up the ODM files

Prior to modifying the ODM VPD, it is prudent to back up the ODM VPD files. The scripts in this technote are capable of modifying two separate sets of ODM VPD files. The ODM files can appear in two separate locations.
  • /usr/lib/objrepos
  • /etc/objrepos

In each of those locations, back up these files:
  • inventory
  • inventory.vc
  • lpp
  • lpp.vc
  • product
  • product.vc
  • history
  • history.vc
  • vendor
  • vendor.vc
  • vpd.properties


Important notes concerning ODM backup
Do not create backups of those files in the same directory as the original files. You will risk accidentally overwriting the original files if you do that.

Make sure that when you create backups of those files, you clearly label which directory the files came from. This way, if you must restore the files from backup later, you will not confuse the two sets of files.

These backup files can be restored to their original location in case complications arise from the cleanup process. You do not need to reboot the system after restoring those files.

These ODM files should only be restored from backup if absolutely necessary. If they are restored, make sure to restore them from a very recent backup. Also, you should only backup and restore the files listed above, and not the other files in the same directory. (Do not backup or restore the other ODM files, as they are unaffected by this script and should not be manipulated.)




Additional cleanup step for V6.1 and later products

If you are resolving installation-related issues, then it is necessary to clean up the CIE registry (also called the "nifregistry"), which is separate from the ODM VPD. If the CIE Registry is not cleaned, then the installer might still claim that a copy of WebSphere Application Server V6.1 or V7.0 (or another related product) is present in the specified directory, even when the ODM VPD is clean.

Warning: If you only intended to clean the ODM entries to resolve problems such as "lppchk" errors, and you intend to continue to use the existing product installation, then do not follow the steps in this section. Following these steps will permanently remove data required by utilities such as the UpdateInstaller. These steps are only required for scenarios where you intend to clean out a missing or bad product installation.

Locate a copy of the installRegistryUtils tool, which is provided on the product installation image. (For example, it is located within the WAS/installRegistryUtils subdirectory of the WebSphere Application Server V6.1 product installation image.) The installRegistryUtils tool is also installed with the application server itself, with a script file in the product's bin directory.

Some copies of the WebSphere Application Server bundled with other IBM products do not include the installRegistryUtils utility. In that case, you can obtain installRegistryUtils by installing the UpdateInstaller V7.0 utility. Once UpdateInstaller is installed, navigate to the UpdateInstaller's "bin" directory to find the installRegistryUtils utility.

Follow these steps to completely clean the CIE Registry:
  1. Log in as the same user which had installed the product. Note that logging in as "root" instead of that user is not recommended. You should only log on as root if the product had been installed as root.

  2. After locating the installRegistryUtils tool (per the notes above these instructions), run the following command:

  3. ./installRegistryUtils.sh -listProducts

  4. Take note of the Offering ID and Install Location of each product which needs to be cleaned from the registry. If no products were listed, then stop now, because the CIE Registry is already clean.

    Note: If you want to clean all of the listed products from the CIE registry, then refer to the note after these instructions.

  5. Clean a product from the CIE Registry by issuing a command following this template:

  6. ./installRegistryUtils.sh -cleanProduct -offering OfferingID -installLocation InstallLocation

    Replace OfferingID and InstallLocation with the appropriate information listed noted in the previous step.

  7. Repeat step 2 to verify that the product has been cleaned from the CIE Registry. Repeat steps 3 onward to clean other products from the CIE registry. Once the targeted products are no longer listed, the process is complete.


Cleaning the entire CIE registry in a single command
The entire CIE registry can be wiped out in a single command. Use this command with care. All WebSphere products listed in the CIE registry will be removed from the registry. The products themselves should be removed from the system afterward, because removing the CIE registry entries disables important maintenance utilities for that product instance.

./installRegistryUtils.sh -cleanAll




Additional steps for handling the vpd.properties file

As part of the complete cleanup process, the vpd.properties file is removed from /usr/lib/objrepos and/or /etc/objrepos. The cleanup script automatically creates a backup of the file, named websphere.clean.vpd.properties.old (or ihs.clean.vpd.properties.old).

In most cases, WebSphere Application Server and IBM HTTP Server are the only products which use the vpd.properties file. Removing the file is the most effective way to ensure that future installations of WebSphere Application Server do not conflict with old entries in the vpd.properties file.

Some other products do use the vpd.properties file. If DB2 Content Manager V8.3 is installed on the system, its entries might show up in that file. If the system administrator is aware of other IBM products installed on the system, or if DB2 Content Manager V8.3 is installed on the system, then follow the procedure below to ensure that the entries for those other products are preserved.
  1. Verify that no other products' entries are present in WebSphere Application Server and IBM HTTP Server by issuing this command on the vpd.properties file. Note that this command is intended to appear on one line:

  2. cat /usr/lib/objrepos/vpd.properties | grep -v ^WS | grep -v ^IHS

    Note: The symbol preceding the "WS" and "IHS" in the command are carat ( ^ ) symbols. This example shows how to check the vpd.properties file itself. If you have already run the wipe script, then substitute vpd.properties with the name of the backup file, such as websphere.clean.vpd.properties.old.

  3. If the command run in the preceding step produces no output, then you can stop this procedure now. If the command shows no output, then that means there are no other entries present in the vpd.properties file, and no further action is necessary.

    If that command does produce output, then the vpd.properties file might contain entries related to other products. In that case, continue to the following steps.

  4. If you have not already done so, run the WebSphere Application Server (or IBM HTTP Server) wipe script. This will remove the vpd.properties file, and create a backup of the file named websphere.clean.vpd.properties.old or ihs.clean.vpd.properties.old.

    In remaining examples, the backup file will be called websphere.clean.vpd.properties.old.

  5. Change to the objrepos directory:

  6. cd /usr/lib/objrepos

  7. Issue the following command. Note that this command is intended to appear on a single line:

  8. cat websphere.clean.vpd.properties.old | grep -v ^WS | grep -v ^IHS >vpd.properties

  9. Verify that a new vpd.properties file has been created, and contains the entries related to other products.

  10. The procedure is complete. Existing WebSphere Application Server products will continue to operate normally. If you were experiencing issues while attempting to install a new copy of a WebSphere Application Server or IBM HTTP Server product, then you may now attempt to install the WebSphere Application Server or IBM HTTP Server product again.


DISCLAIMER
All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Install","Platform":[{"code":"PF002","label":"AIX"}],"Version":"7.0;6.1;6.0;5.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSEQTJ","label":"IBM HTTP Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Install","Platform":[{"code":"PF002","label":"AIX"}],"Version":"7.0;6.1;6.0;2.0.47;1.3.28","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
07 September 2022

UID

swg21198862