Exception When Using SmartUpdate In Offline Mode

The following exception is seen when installing patch in offline mode using the Oracle Smart Update command line option:

$ ./bsu.sh -prod_dir=WEBLOGIC_HOME -patchlist= -verbose -install
Unable to locate valid patch target with BEA Home "BEA_HOME" and Product Directory "WEBLOGIC_HOME

Cause


When installing patches in offline mode for servers which do not have access to the Internet, the required patch is usually downloaded by logging into the Oracle SmartUpdate server from a machine which has access to the Internet and retrieving the patch on this machine. Once we download the patch jar files, we copy the .jar, prod-info.xml and patch-catalog.xml files from BEA_HOME\utils\bsu\cache_dir on the machine where we downloaded to the same directory on the machine where we want to use SmartUpdate to install the patch in offline mode.
The issue described above happens when you download the patch using SmartUpdate and copy the <patchid>.jar, prod-info.xml and patch-catalog.xml files to a machine which has an older version of SmartUpdate, and then try to install the patch in offline mode.

 Solution

The solution for this problem is to upgrade SmartUpdate on the offline machine to the same version as the machine where you downloaded the patch.
On an online machine, this can be easily done by launching SmartUpdate: SmartUpdate will automatically connect to the Internet and upgrade SmartUpdate to the latest version. However there, are situations where customers have environments or machines which do not have direct access to Internet for upgrading the SmartUpdate version. In that case, please follow below steps for upgrading the smart update version in offline mode:
  1. Upgrade Smart Update on online machine (same OS platform as the offline machine) where you have access to internet.
  2. Login to the offline machine where you want to upgrade the SmartUpdate version.
  3. Take a backup of the patch-client.jar and bsu.jar files inside BEA_HOME/utils/bsu and the modules directory inside BEA_HOME.
  4. Copy the patch-client.jar and bsu.jar files from the online machine where you have previously upgraded SmartUpdate (by going online) to the offline machine in the same location. Replace the old files.
  5. Copy the contents inside the BEA_HOME/modules directory from the online machine to the offline machine. Again, replace the old files.
  6. Now you have upgraded the SmartUpdate version on the offline machine.
Once the above changes are done, try to do the patch installation in offline mode using this command from the BEA_HOME/utils/bsu directory:
./bsu.sh -prod_dir=WEBLOGIC_HOME -patchlist=Patch Id -verbose -install

This should install the patch successfully.