Skip navigation.
Downloads | Product Documentation | Support

Upgrading WebLogic Application Environments

# Roadmap for Upgrading Your Application Environment

This section describes how to prepare for and perform an upgrade of your WebLogic application environments. Topics include:

- Plan the Upgrade
- Prepare to Upgrade
- Upgrade Your Application Environment
- Complete Post-Upgrade Procedure
- What to Do If the Upgrade Process Fails

# Plan the Upgrade

Planning how you will upgrade an application environment is an important step in the process. To ensure that your plan addresses all of the aspects of upgrading that are necessary for your environment, complete the following steps:

- Step 1: Inventory the Application Environment
- Step 2: Verify Supported Configuration Information
- Step 3: Review the Compatibility Information
- Step 4: Create an Upgrade Plan

## Step 1: Inventory the Application Environment

Generate an inventory of the application environment, and identify the components defined in the following table. You can view a sample application environment in Overview of the Upgrade Process.

Table 2-1 Checklist for the Application Environment Inventory

| Identify the ...
--- | ---
| Administration Server and the machine on which it resides
| Managed Servers and the machine(s) on which they reside
| Custom security providers used in the domain
| Custom Node Managers used in the domain
| Location of the applications (including all external client applications)
| External resources, for example: Databases used to store persisted and application data Firewalls Load balancers
| Tools, scripts, templates, and source code used for automating the tasks required to create the application environment

## Step 2: Verify Supported Configuration Information

Verify support for all the hardware and software components in the application environment. The following table lists the key components for which you need to verify support.

Table 2-2 Verify Supported Configuration Information

To verify ... | See ...
--- | ---
OS and hardware support | "List of Supported Operating System Configurations" in "WebLogic Server 9.0 Supported Configurations" in Supported Configurations for WebLogic Server 9.0 at `http://e-docs.bea.com/platform/suppconfigs/configs90/90_over/overview.html`.
Database support | "Supported Database Configurations" in Supported Configurations for WebLogic Server 9.0 at `http://e-docs.bea.com/platform/suppconfigs/configs90/90_over/supported_db.html`. Please note the following: If you are upgrading a domain from WebLogic Server 6.1, please note that Cloudscape is no longer supported, and you will need to upgrade to a database that is supported for the 9.0 release. The WebLogic jDriver for Oracle was removed in the 9.0 release. If the JDBC connection pools in your domain use the WebLogic jDriver to create database connections, you will need to reconfigure the upgraded data sources to use a different JDBC driver, which may include changing the driver class name, the database URL format, and properties sent to the driver when creating database connections. As a replacement, you can use any JDBC driver that implements the specification and is thread safe. The driver you select must be installed (in the `CLASSPATH`) on all servers on which the data source is deployed. For more information about supported JDBC drivers, see "Supported Database Configurations" in Supported Configurations for WebLogic Server 9.0 at `http://e-docs.bea.com/platform/suppconfigs/configs90/90_over/supported_db.html`. The WebLogic Type 4 JDBC Driver for Oracle and the Oracle Thin Driver are installed with WebLogic Server and are ready for use. For more information about using these drivers, see "The Oracle Driver" in WebLogic Type 4 JDBC Drivers at `http://e-docs.bea.com/wls/docs90/jdbc_drivers/oracle.html` and "Third-Party JDBC Drivers Installed with WebLogic Server" in Configuring and Managing WebLogic JDBC at `http://e-docs.bea.com/wls/docs90/jdbc_admin/third_party_drivers.html#oracle_thin`. If you are using an Oracle OCI database driver and want to change to use a Thin database driver, you must remove the `server` property (as illustrated below) from the generated JDBC module. For example: `<property> <name>server</name> <value>``servername``</value> </property>`
Web servers, browsers, and firewalls | "Supported Web Servers, Browsers, and Firewalls" in Supported Configurations for WebLogic Server 9.0 at `http://e-docs.bea.com/platform/suppconfigs/configs90/90_over/add-ons.html`.

## Step 3: Review the Compatibility Information

Most existing WebLogic Server applications can be run without modification in the new WebLogic Server 9.0 application environment. However, you should review Compatibility with Previous Releases to determine whether any feature changes affect the applications in your environment.

## Step 4: Create an Upgrade Plan

Using the information gathered in the preceding steps, create a plan for upgrading your application environment. Identify the scope and timing of the upgrade process, based on your business needs. Please note the following:

- BEA does not recommend upgrading an application environment that is currently deployed in production. Instead, you should upgrade your application environment while it is under development or test and execute standard procedures for quality assurance and performance tuning before promoting the upgraded environment to production.
- If your application is complex, for example, if it includes multiple clustered domains and a large number of deployed applications, for example, you may choose to upgrade the components of the application environment in stages.
- You may consider limiting the number of WebLogic Server versions used in any single application environment to minimize the diversity and cost of systems being administered.

# Prepare to Upgrade

Before you upgrade the application environment, you must perform the following steps:

- Step 1: Shut Down Servers in the Application Environment
- Step 2: Back Up the Application Environment
- Step 3: Install WebLogic Server 9.0
- Step 4: Prepare the Remote Managed Server Domain Directories
- Step 5: Set Up the Environment

## Step 1: Shut Down Servers in the Application Environment

Before you upgrade, you must shut down all servers in the application environment.

## Step 2: Back Up the Application Environment

You have the option of backing up the domain during the upgrade process, as described in Backup Domain. However, the wizard archives the domain directory only; it does not preserve file permissions.

BEA recommends that before upgrading your application environment, you manually back up the components defined in the following table. You should back up the relevant information on all machines in the domain.

Table 2-3 Recommendations for Backing Up the Application Environment

Component | Recommendations
--- | ---
Domain directory | Back up the Administration Server and any remote Managed Server domain directories that are defined in the application environment. By default, the Configuration Wizard creates a domain directory in the `BEA_HOME``\user_projects` directory, where `BEA_HOME` specifies the directory in which you installed WebLogic Server.
Applications and application-persisted data | Back up any applications and data that reside outside the domain directory. By default, applications are created in the `BEA_HOME``\user_projects\applications` directory, where BEA_HOME specifies the directory in which you installed WebLogic Server.
Custom security providers | Back up any custom security providers that you are using in your application environment. By default, security providers are located in `WL_HOME``\server\bin\mbeantypes`, where `WL_HOME` specifies the root directory of the WebLogic Server installation.
Node Manager directory and scripts | Back up any Node Manager directories and scripts that you are using to manage your servers in a clustered environment. The names of the directory and script depend on your operating system: Windows: `WL_HOME``\common\nodemanager` `WL_HOME``\server\bin\startNodeManager.cmd` UNIX: `WL_HOME``/common/nodemanager` `WL_HOME``/server/bin/startNodeManager.sh` In the preceding pathnames, `WL_HOME` represents the root directory of the WebLogic Server installation, for example, `c:\bea\weblogic81`.
Log files | If it is important for you to maintain a record of all messages that are logged, back up the log files. As log files can be large, you may want to delete them to conserve disk space, if it is not important to maintain them.

## Step 3: Install WebLogic Server 9.0

Before upgrading your application environment, you must install WebLogic Server 9.0 on each machine in the domain. For more information about installing WebLogic Server 9.0, see Installation Guide at `http://e-docs.bea.com/common/docs90/install/index.html`.

Note: If you are using Node Manager in your pre-9.0 installation, when installing the 9.0 product, you should set the Node Manager listen port to match the port number used in the pre-9.0 installation, if possible. The default value for the listen port for Node Manager is 5556.

## Step 4: Prepare the Remote Managed Server Domain Directories

Some configurations include Managed Servers running on one or more machines that are remote from the Administration Server for the domain. If you have this type of configuration, you must upgrade the domain directories on each of the machines that host the remote Managed Servers.

To prepare the remote domain directories, you must copy the following files from the root directory of the pre-upgraded domain directory on the host machine for the Administration Server to the root directory of the host domain(s) of the remote Managed Servers:

- `config.xml` (configuration file)
- `SerializedSystemIni.dat`

Note: If the database in your configuration is not compatible with WebLogic Server 9.0, the data must be upgraded to a database that is supported before it can be used in the new application environment. For more information, see Step 2: Verify Supported Configuration Information.

## Step 5: Set Up the Environment

To set up the environment for an upgrade:

1. Open an MS-DOS command prompt window (on Windows) or a command shell (on UNIX).
2. Add the WebLogic Server classes to the `CLASSPATH` environment variable and `WL_HOME``\server\bin` to the `PATH` environment variable, where `WL_HOME` refers to the top-level installation directory for WebLogic Server.

You can use the `WL_HOME``\server\bin\setWLSenv` script to set both variables.

3. If you use JMS JDBC stores:

1. Make sure the JDBC driver classes are added to the `CLASSPATH` environment variable.
2. Start the corresponding database.

# Upgrade Your Application Environment

The following provides a roadmap that identifies the steps required to upgrade your application environment.

Figure 2-1 Roadmap for Upgrading Your Application Environment

The following table summarizes the steps for updating an application environment. Some steps are mandatory, others are optional. Each step that is performed must be done on every machine in the domain.

Table 2-4 Procedure for Upgrading an Application Environment

Step | Description
--- | ---
1. Upgrade custom security providers | If are using custom security providers in your current application environment and you wish to continue using them in the new environment, upgrade them: On all machines in the environment. Before you upgrade the WebLogic domain. Note: If you are installing WebLogic Server 9.0 into an existing BEA Home directory that contains an installation of WebLogic Server 7.0 or 8.1, all custom security providers that reside in the default location, `WL_HOME``\server\lib\mbeantypes`, where `WL_HOME` specifies the root directory of the pre-9.0 installation, are upgraded automatically. (Custom security providers were not supported in 6.1 environments.) If all of your custom security providers reside in the default location, then the security provider upgrade step is complete, and you do not have to perform the steps described in this section.
2. Upgrade Node Managers | If you are currently using a customized version of Node Manager to provide high availability to Managed Servers and you wish to continue doing so in the new application environment, upgrade Node Manager: On all machines in the environment Before you start the servers in an upgraded WebLogic domain
3. Upgrade WebLogic domain (Administration Server) | Upgrade the WebLogic domain on the machine that hosts the Application Server. Note: BEA recommends that you upgrade the Administration Server for a domain before the Managed Servers.
4. Upgrade WebLogic domain (remote Managed Servers) | Upgrade the WebLogic domain on every machine that hosts any Managed Servers. Be sure to copy the appropriate files to the Managed Servers before performing the upgrade, as described in Step 4: Prepare the Remote Managed Server Domain Directories. Note: Managed Servers that reside on the same machine as the Administration Server do not require additional upgrade steps.

# Complete Post-Upgrade Procedure

Once you have used the WebLogic Upgrade Wizard to upgrade the application environment, you may need to perform the following steps:

- Step 1: Upgrade Your Application Infrastructure
- Step 2: Customize Startup Scripts
- Step 3: Verify File Permissions
- Step 4: Enroll the Machine with Node Manager
- Step 5: Verify Remote Server Startup Options
- Step 6: Promote the Application Environment to Production

Not all of these steps are required for all situations. Review the sections to determine which, if any, of these steps are appropriate for your environment.

## Step 1: Upgrade Your Application Infrastructure

Due to recent changes in the MBean hierarchy, BEA does not guarantee that existing configuration and administration scripts (such as WLST, `wlconfig`, `weblogic.Admin`, Ant, and so on) will run in all 9.0 environments. BEA recommends that you update your scripts to take advantage of the new features provided with WebLogic Server 9.0. For more information about new WebLogic Server features and changes in the MBean hierarchy, see "What's New in WebLogic Server 9.0" in the WebLogic Server and WebLogic Express Release Notes at `http://e-docs.bea.com/wls/docs90/notes/new.html`.

More information is provided in the following sections about scripting tools, custom configuration templates, and SNMP:

- Deprecated Scripting Tools
- Using the WebLogic Scripting Tool
- Upgrading Your Custom Configuration Templates
- Using SNMP to Monitor WebLogic Server

### Deprecated Scripting Tools

The following configuration and administration tools are deprecated with WebLogic Server 9.0:

- Silent-mode operation of the Configuration Wizard. For more information, see `http://e-docs.bea.com/common/docs90/silent_cw/index.html`.
- `weblogic.Admin` utility. For more information, see `http://e-docs.bea.com/wls/docs90/admin_ref/cli.html`.

If you are currently using one of these utilities, BEA recommends that you use the BEA WebLogic Scripting Tool, as described in the next section.

### Using the WebLogic Scripting Tool

The WebLogic Scripting Tool (WLST) is a command-line scripting interface (built with Jython) that you can use to configure WebLogic domains. Using WLST, WebLogic Server administrators can perform administrative tasks and initiate WebLogic Server configuration changes interactively or by running an executable script.

With the release of WebLogic Platform 8.1, WLST was made available for evaluation from BEA's dev2dev site, but it was not formally included in the WebLogic Platform 8.1 product. It was offered in two formats: WLST online and WLST offline.

In WebLogic Server 9.0, the online and offline versions of WLST have been enhanced and merged into a single tool. This new version of WLST fully supports the administrative and configuration features offered by 9.0. For more information about WLST, see WebLogic Scripting Tool at `http://e-docs.bea.com/wls/docs90/config_scripting/index.html`.

Note: WLST online can be run on WebLogic Platform 7.0 and 8.1, and WebLogic Server 9.0. WLST offline can be run on WebLogic Platform 8.1 and WebLogic Server 9.0.

As with the other pre-9.0 tools, BEA does not guarantee that existing WLST scripts will run in 9.0 due to recent changes in the MBean hierarchy. BEA recommends that you update your scripts to take advantage of the new features provided with WebLogic Server 9.0. For more information about new WebLogic Server features and changes in the MBean hierarchy, see "What's New in WebLogic Server 9.0" in the WebLogic Server and WebLogic Express Release Notes at `http://e-docs.bea.com/wls/docs90/notes/new.html`.

### Upgrading Your Custom Configuration Templates

The following table summarizes the steps required to upgrade custom configuration templates created with the WebLogic Platform 8.1 Template Builder.

Table 2-5 Upgrade Procedure for Custom Domain Templates

Step | More Information
--- | ---
1. Using the Upgrade Wizard, upgrade the domain that was created using the custom configuration and/or extension template. | Follow the steps described in Upgrade Your Application Environment.
2. Modify the domain configuration to leverage new features, as appropriate. | See "What's New in WebLogic Server 9.0" in the WebLogic Server and WebLogic Express Release Notes at `http://e-docs.bea.com/wls/docs90/notes/new.html`.
3. Use the Template Builder or `pack` command to create a 9.0 domain and/or extension template. | See: Creating Templates Using the Domain Template Builder at `http://e-docs.bea.com/common/docs90/tempbuild/index.html`. Creating Domains and Templates Using the pack and unpack Commands at `http://e-docs.bea.com/common/docs90/pack/index.html`.

### Using SNMP to Monitor WebLogic Server

If you use an SNMP manager to monitor WebLogic Server:

1. Load the WebLogic Server 9.0 MIB into your SNMP manager.

The MIB is located at `BEA_HOME``/weblogic90/server/lib/BEA-WEBLOGIC-MIB.asn1`. WebLogic Server does not change object identifiers (OIDs) for existing managed objects; it only adds new OIDs for new managed objects.

2. If you are generating traps for any deprecated managed objects, create new traps for the replacement objects.

For a list of deprecated managed objects, see "Deprecated MBeans" in WebLogic Server MBean Reference at `http://e-docs.bea.com/wls/docs90/wlsmbeanref/core/index.html`. The description of each deprecated MBean includes a pointer to the replacement MBean. (Each SNMP managed object corresponds to an MBean attribute.)

Note: A number of runtime MBeans that are internal to BEA have been removed from the MIB. These MBeans are not included in the deprecated MBeans list. For more information, see WebLogic Server Known and Resolved Issues at `http://e-docs.bea.com/wls/docs90/issues/index.html`.

## Step 2: Customize Startup Scripts

The following sections describe how to customize the default and custom startup scripts.

### Default Startup Scripts

The Upgrade Wizard does not carry forward any customizations that have been made to the default startup scripts, such as the setting of the `JAVA_OPTIONS` environment variable. After the upgrade process is complete, you will need to customize the default scripts again.

Note: If you are upgrading your domain to WebLogic Server 9.0 and you want to continue using a pre-5.1 version of PointBase, you must add the JAR files for the pre-5.1 version of the PointBase database to the beginning of the `CLASSPATH` environment variable definition. To do so, update the `set CLASSPATH` statement in your `setDomainEnv` files.

### Custom Startup Scripts

If you have created custom startup scripts, you will need to update them manually, as follows:

- Set the JDK version to JDK 5.0.
- Update the `CLASSPATH` variable, as follows:

- Add WebLogic Server 9.0 classes to the beginning of the variable.
- Remove all unused pre-9.0 WebLogic classes.
- If you want to continue using your pre-5.1 version of PointBase, include the pre-5.1 versions of the PointBase database JARs at the beginning of the `CLASSPATH` environment variable definition.

## Step 3: Verify File Permissions

Verify the file permissions, as follows:

- If you backed up the domain directory as part of the upgrade, you now need to make your backup files secure, as they may contain confidential information.
- During the upgrade process, file permissions are not preserved. If non-default file permissions were set on files, they need to be verified and reset.
- On a UNIX system, ownership and permissions for any new files created during the upgrade process are assigned to the user performing the upgrade. For example, if the upgrade is performed by root, then root is assigned ownership of any new files. As a result, any user who subsequently wants to update these files in the domain must have root privileges. You may want to review and/or modify the permissions on files created during the upgrade process.

## Step 4: Enroll the Machine with Node Manager

If you upgrade Node Manager during the upgrade process, enroll the machine that is hosting the WebLogic domain with Node Manager. This can be accomplished using the `nmEnroll` command.

Note: If the `nodemanager.domains` file resides on the machine where the Administration Server and Managed Server are configured to run and they share the same domain directory, you can manually edit the file to include an entry for the domain, in the following form: `<``domain-name``>=<``domain-directory``>`.

This file is located in `WL_HOME``/common/nodemanager`, by default (where `WL_HOME` refers to the top-level installation directory for WebLogic Server).

For more information, see "Configuring nodemanager.domains File" in "Additional Configuration Information" in Managing Server Startup and Shutdown at `http://e-docs.bea.com/wls/docs90/server_start/nodemgr.html#ReviewNMDomains`.

The `nmEnroll` command updates the `nodemanager.domains` file under the `WL_HOME``/common/nodemanager` directory with information about the domain, where `WL_HOME` refers to the top-level installation directory for WebLogic Server. The `nodemanager.domains` file specifies the domains that a Node Manager instance controls. This file is necessary so that standalone clients do not need to specify the domain directory explicitly.

This command also downloads the following files from the Administration Server:

- `nm_password.properties`, the Node Manager secret file, which contains the encrypted username and password that is used for server authentication
- `SerializedSystemIni.dat` file

To enroll the machine with Node Manager using the `nmEnroll` command:

1. Set up your environment, as described in "Setting Up Your Environment" in WebLogic Scripting Tool at `http://e-docs.bea.com/wls/docs90/config_scripting/using_WLST.html#setting_up_your_environment`.
2. Invoke WLST, as described in "Invoking WLST" in WebLogic Scripting Tool at `http://e-docs.bea.com/wls/docs90/config_scripting/using_WLST.html#invoke_wlst`.

As described in step 2, start a WebLogic Server instance and connect WLST to the server using the `connect` command.

3. Once WLST is connected to the Administration Server, enter the `nmEnroll` command to enroll the machine on which WLST is running with Node Manager.

You have the option of specifying:

- Path of the domain directory in which you want to save the Node Manager secret file (`nm_password.properties`) and `SerializedSystemIni.dat` file. By default, these files are saved in the directory in which WLST was started.
- Path of the Node Manager home directory. The `nodemanager.domains` file, containing the information about the domain, is written to this directory. By default, the directory used for this purpose is `WL_HOME``/common/nodemanager`, where `WL_HOME` refers to the top-level installation directory for WebLogic Server.

For example, if the domain directory is specified as `c:/bea/mydomain/common/nodemanager`, and the default home directory for Node Manager, `WL_HOME``/common/nodemanager`, is used, then you enroll the machine on which WLST is running with Node Manager by entering the following command:

>     wls:/mydomain/serverConfig> nmEnroll('c:/bea/mydomain/common/nodemanager')
>     Enrolling this machine with the domain directory at c:\bea\mydomain\common\nodemanager....
>     Successfully enrolled this machine with the domain directory at C:\bea\mydomain\common\nodemanager
>     wls:/mydomain/serverConfig>

For more information, see `nmEnroll` in WebLogic Scripting Tool at `http://e-docs.bea.com/wls/docs90/config_scripting/reference.html#nmEnroll`.

## Step 5: Verify Remote Server Startup Options

Once you start the Administration Server, verify the remote server start options, such as `JAVA_HOME`, `BEA_HOME`, and `CLASSPATH`, reference the WebLogic Server 9.0 installation on the target managed server. This can be accomplished using the Administration Console, as described in "Configure startup arguments for Managed Servers" in Administration Console Online Help at `http://e-docs.bea.com/wls/docs90/ConsoleHelp/taskhelp/startstop/ConfigureStartupArgumentsForManagedServers.html`.

Warning: If the remote server startup options are not set correctly, when attempting to start a Managed Server using Node Manager, messages similar to the following may be written to the log file. Because these messages may be sent recursively, they may eventually consume all space available on the drive.

Warning: `No config.xml was found.
Would you like the server to create a default configuration and boot? (y/n):
java.io.IOException: The handle is invalid
at COM.jrockit.io.FileNativeIO.read(III)I(Native Method)
at COM.jrockit.io.NativeIO.read(Ljava.io.FileDescriptor;II)I(Unknown Source)
at COM.jrockit.io.NativeIOInputStream.read(II)I(Unknown Source)
at COM.jrockit.io.NativeIOInputStream.read(I[BI)I(Unknown Source)
at COM.jrockit.io.NativeIOInputStream.read([BII)I(Unknown Source)
at java.io.FileInputStream.read([BII)I(Unknown Source)`

## Step 6: Promote the Application Environment to Production

Execute standard procedures for quality assurance and performance tuning before promoting an application environment to production. You should test the execution of your applications (including external client applications) in your test application environment. If your applications use APIs that have been deprecated or removed, then you may encounter warnings or exceptions at run time. If you do, you can make any required modifications before promoting your applications to production.

Once all test criteria have been met, you can promote the application environment to production, as outlined in your upgrade plan (defined previously in Step 4: Create an Upgrade Plan).

Once the new 9.0 application environment is deployed into production, you can start redirecting requests to the new environment from the existing environment. Gradually, you can quiesce the existing environment. This might be accomplished using a load balancer, for example.

# What to Do If the Upgrade Process Fails

If any step in the upgrade process fails, the WebLogic Upgrade Wizard displays a message indicating the reason for the failure and terminates. To proceed, perform the following steps:

1. Restore the application environment to its original state using the backup files created in Step 2: Back Up the Application Environment.
2. Correct the failure reported by the WebLogic Upgrade Wizard.
3. Continue with the upgrade process from the step at which the failure occurred, as described in Upgrade Your Application Environment.