Skip Headers
Oracle® Application Server High Availability Guide
10g Release 3 (10.1.3.2.0)

Part Number B32201-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

4 Active-Passive Topologies

This chapter describes how to configure and manage active-passive topologies. It contains the following sections:

4.1 About Active-Passive Topologies

An active-passive topology consists of the following:

You install the Oracle home on the shared storage. During runtime in an active-passive topology, only one node is active. The other node is passive. The active node mounts the shared storage so that it can access the files and runs all the processes and handles all the requests. Clients access the active node through the virtual hostname. Clients do not need to know the physical hostnames of the nodes in the topology.

If the active node fails for any reason, a failover event occurs and the passive node takes over and becomes the active node. It mounts the shared storage and runs all the processes and handles all the requests. The virtual hostname and IP now point to the passive node. Clients, because they access the nodes using the virtual hostname, do not know that it is the passive node that is servicing their requests.

The nodes need to be in hardware cluster to enable failover.

Note:

Installing the Oracle home on the local storage of each node in the OracleAS Cold Failover Cluster topology is not supported. You have to install it on the shared storage.

4.1.1 Vendor Clusterware

The two nodes in an active-passive topology are in a hardware cluster, which typically includes some vendor clusterware. For a list of certified clusterware, visit the Oracle Technology Network website (http://www.oracle.com/technology).

If you are running on Windows, you need the following products for the cluster:

  • Oracle Fail Safe

  • Microsoft Cluster Server

These products must be installed on both nodes (active and passive) in the topology.

4.1.2 Active-Passive Topologies: Advantages

  • Easier to implement because they do not require a load balancer, which is required in active-active topologies

  • Easier to configure than active-active topologies because you do not have to configure options such as load balancing algorithms, clustering, and replication.

  • Better simulates a one-instance topology than active-active topologies

4.1.3 Active-Passive Topologies: Disadvantages

  • Does not scale as well as active-active topologies. You cannot add nodes to the topology to increase capacity.

  • State information (from HTTP session state and EJB stateful session bean) is not replicated, and thus becomes lost when a node terminates unexpectedly unless you save the state information to persistent storage such as a database.

4.1.4 WebCenter Application Notes

If you are running WebCenter applications in active-passive topologies, you should be aware of specific recommendations for Oracle Metadata Services (MDS) and portlet preference stores:

4.1.4.1 Directory for Oracle Metadata Services (MDS) on the Shared Storage

On the shared storage, you also need to create a directory for Oracle Metadata Services (MDS). The MDS directory stores page customization data and portlet metadata for deployed WebCenter applications.

By having the MDS directory on the shared storage, you ensure that all Oracle Application Server instances access the same data and you do not have to worry about replicating the data.

The mount point for the MDS directory must be the same for all nodes in the active-passive topology (for example, /oracle/mds on UNIX, or S:\oracle\mds on Windows). On Windows, the mount point, including the drive letter, must be the same on all nodes; for example, it cannot be S:\oracle\mds on one node and T:\oracle\mds on another node.

You do not need the shared storage during installation, but you need it when you deploy your applications. You specify the path to the MDS directory during application deployment.

4.1.4.2 Portlet Preference Store

WebCenter applications consume portlets that can be hosted by a portlet producer on a remote computer. The portlet producers store portlet preferences, or customizations, in a preference store that can be either database-based or file-based.

In a high availability topology, it is recommended that you use a database-based preference store, and the database should be configured for high availability, such as a Real Application Clusters database or a cold failover cluster database.

If you choose to store the portlet preferences in a file, place the file on the shared storage so that both nodes in the active-passive topology can access it.

See Section 3.1.2.2, "Type and Location of Portlet Preference Stores" for more information on configuring portlet preference stores.

Do not confuse the portlet preference store with MDS. These are two separate concepts. Note that MDS is file-based only and is stored on a shared storage, as described in Section 4.1.4.1, "Directory for Oracle Metadata Services (MDS) on the Shared Storage".

4.1.5 Oracle Content DB Failover Limitations

In active-active and active--passive topologies, Oracle Content DB has some limitations when a failover event occurs. See Section 3.1.3, "Oracle Content DB Failover Limitations" for details.

4.1.6 Collocated Topology: Components in the Same Oracle Home

Figure 4-1 shows a diagram of an active-passive topology with the Oracle Application Server Oracle home installed on the shared storage. The Oracle home contains both Oracle HTTP Server and WebCenter Suite.

The MDS directory is required to be configured on the shared storage.

Figure 4-1 Active-Passive Topology with Oracle HTTP Server and WebCenter Suite in the Same Oracle Home

Description of Figure 4-1 follows
Description of "Figure 4-1 Active-Passive Topology with Oracle HTTP Server and WebCenter Suite in the Same Oracle Home"

4.1.6.1 Installation Steps Overview

This section provides an overview of the installation steps. For details, see the Oracle Application Server Installation Guide for your platform.

  1. If you will be installing Oracle Content DB, you need a database. In high availability topologies, you should use high availability databases, such as cold failover cluster database or Real Application Clusters database.

    Check that the initialization parameters for your database are set appropriately. See the Oracle Application Server Installation Guide for your platform for details.

    You also need to know the password for the SYS user.

  2. If you want to store repository information in Oracle Internet Directory, have available an Oracle Internet Directory. This Oracle Internet Directory should be configured in a highly available manner.

    If you do not have an Oracle Internet Directory, you can store repository information in a file.

  3. Set the VIRTUAL_HOST_NAME environment variable to the virtual hostname associated with the hardware cluster. You need to do this before starting the installer.

  4. Install the components that you need in an Oracle home on the shared storage.

    • To install all the components (Oracle HTTP Server, WebCenter Framework, and Oracle Content DB) in one Oracle home, use the "Basic Installation" option.

    • To install Oracle HTTP Server plus one of WebCenter Framework or Oracle Content DB, use the "Advanced Installation" option and select either the "Oracle WebCenter Framework with Oracle HTTP Server" option or the "Oracle Content Database" option.

4.1.6.2 Post-Installation Steps

After installation, perform these steps:

  1. If you are running on Windows, you have to configure OPMN as a service. See the Oracle Application Server Installation Guide for instructions on how to do this. This step is required because the basic installation does not configure OPMN as a service. The installer configures OPMN as a service only in advanced installation options.

  2. This step is required only if you are using SSL.

    1. Edit the ORACLE_HOME/Apache/Apache/conf/httpd.conf file to load the certheaders_module:

      • If you are using Oracle HTTP Server 1.3 on UNIX, add the following line to the httpd.conf file:

        LoadModule certheaders_module libexec/mod_certheaders.so
        
        
      • If you are using Oracle HTTP Server 2.0 on UNIX, add the following line to the httpd.conf file:

        LoadModule certheaders_module modules/mod_certheaders.so
        
        
      • If you are using Oracle HTTP Server on Windows, add the following line to the httpd.conf file:

        LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
        
        
    2. Restart Oracle HTTP Server.

4.1.7 Distributed Topology: Oracle HTTP Server, WebCenter Framework, and Oracle Content DB in Separate Oracle Homes

Figure 4-2 shows a distributed active-passive topology, where Oracle HTTP Server, WebCenter Framework, and Oracle Content DB are installed on different Oracle home. You can use this topology if your nodes are separated into web and application tiers, and the nodes in the tiers are separated by firewalls.

Figure 4-2 Active-Passive Topology with Components in Separate Oracle Homes

Description of Figure 4-2 follows
Description of "Figure 4-2 Active-Passive Topology with Components in Separate Oracle Homes"

4.1.7.1 Web Tier

Oracle HTTP Server runs in the web tier. To make Oracle HTTP Server highly available, you can run it in either an active-active or active-passive topology.

  • To configure Oracle HTTP Server in an active-active topology (shown in Figure 3-2), install it on nodes that are fronted by a load balancer. Install it on the local storage of each node, and configure the load balancer to distribute requests to the nodes. Clients send requests to Oracle HTTP Server using the virtual hostname configured on the load balancer.

    Cluster the Oracle HTTP Server instances, the WebCenter Framework instance, and the Oracle Content DB instance in the same cluster so that Oracle HTTP Server can forward requests to the active node (using the virtual hostname associated with the hardware cluster).

  • To configure Oracle HTTP Server in an active-passive topology (shown in Figure 4-2), you have two nodes in a hardware cluster, and the two nodes are associated with a shared storage. The hardware cluster is associated with a virtual hostname and IP address. You install Oracle HTTP Server on the shared storage. One node in the hardware cluster is active, while the other node is passive. Clients send requests to Oracle HTTP Server using the virtual hostname.

4.1.7.2 Application Tier

You install the WebCenter Framework and Oracle Content DB on nodes in the application tier. You install the components on the shared storage but in separate Oracle homes.

Clients send requests to the nodes in the application tier using the virtual hostname configured for the hardware cluster.

You cluster the OC4J instances in the application tier with the Oracle HTTP Server instances in the web tier. You can create the cluster through multicasting, gateways, discovery servers, or peer-to-peer. See Section 3.2.1, "Setting up OracleAS Clusters" for details.

4.1.7.3 Installation Steps Overview

This section provides an overview of the installation steps. For details, see the Oracle Application Server Installation Guide for your platform.

  1. If you will be installing Oracle Content DB, you need a database. In high availability topologies, you should use high availability databases, such as cold failover cluster database or Real Application Clusters database.

    Check that the initialization parameters for your database are set appropriately. See the Oracle Application Server Installation Guide for your platform for details.

    You also need to know the password for the SYS user.

  2. If you want to store repository information in Oracle Internet Directory, have available an Oracle Internet Directory. This Oracle Internet Directory should be configured in a highly available manner.

    If you do not have an Oracle Internet Directory, you can store repository information in a file.

  3. Set the VIRTUAL_HOST_NAME environment variable to the virtual hostname associated with the hardware cluster. You need to do this before starting the installer.

  4. Install Oracle HTTP Server on nodes in the web tier. To install Oracle HTTP Server, select the Advanced option in the installer, and then select the Oracle Web Server option.

    You need to cluster all the Oracle Application Server instances (running Oracle HTTP Server, WebCenter Framework, or Oracle Content DB). You can configure the cluster during installation, or you can do it after installation.

  5. Install WebCenter Framework on the shared storage in the application tier. To install WebCenter Framework, select the "Advanced Installation" option in the installer, and then select the "Oracle WebCenter Framework" option.

  6. Install Oracle Content DB on the shared storage in the application tier. To install Oracle Content DB, select the "Advanced Installation" option in the installer, and then select the "Oracle Content Database" option.

4.1.7.4 Post-Installation Steps

After installation, perform these steps:

  1. If you did not cluster the Oracle Application Server instances during installation, you can do so after installation. You need to cluster all the Oracle Application Server instances in both web and application tiers. See Section 3.2.1, "Setting up OracleAS Clusters" for details.

  2. This step is required only if you are using SSL.

    1. Edit the ORACLE_HOME/Apache/Apache/conf/httpd.conf file to load the certheaders_module:

      • If you are using Oracle HTTP Server 1.3 on UNIX, add the following line to the httpd.conf file:

        LoadModule certheaders_module libexec/mod_certheaders.so
        
        
      • If you are using Oracle HTTP Server 2.0 on UNIX, add the following line to the httpd.conf file:

        LoadModule certheaders_module modules/mod_certheaders.so
        
        
      • If you are using Oracle HTTP Server on Windows, add the following line to the httpd.conf file:

        LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
        
        
    2. Restart Oracle HTTP Server.

  3. Disable Oracle HTTP Server on the Oracle homes where you installed Oracle Content DB.

    1. Set the status of Oracle HTTP Server to disabled in the ORACLE_HOME/opmn/conf/opmn.xml file:

      <ias-component id="HTTP_Server" status="disabled">
      
      
    2. Stop and restart all components in the Oracle home.

      > ORACLE_HOME/bin/opmnctl stopall
      > ORACLE_HOME/bin/opmnctl startall
      
      

4.2 Managing Active-Passive Topologies

Managing active-passive topologies is very similar to managing single instance Oracle Application Server topologies because there is only one Oracle home to manage.

Topics covered in this section:

4.2.1 Managing through Application Server Control Console

You can use Application Server Control Console to manage active-passive topologies. To access Application Server Control Console, use the virtual hostname instead of the physical hostname.

4.2.2 Starting / Stopping Components

You can use the opmnctl command to start and stop components in the topology. For example:

opmnctl startall

You can also use the Application Server Control Console to perform the start and stop operations.

4.2.3 Deploying Applications

Note that the deployment procedure has changed for this release. In particular, you have to specify the path to the MDS directory on the shared storage. You do this by running the new "Predeployment tool".

For details on the deployment steps, see chapter 9, "Deploying Your WebCenter Application", in the Oracle WebCenter Framework Developer's Guide.

To deploy applications in active-passive topologies, you deploy the applications through the active node.

4.3 Summary of High Availability Features in Oracle HTTP Server and OC4J in Active-Passive Topologies

Table 4-1 summarizes some of the high availability features in Oracle HTTP Server and OC4J in active-passive topologies.

Table 4-1 Summary of High Availability Features in Oracle HTTP Server and OC4J in Active-Passive Topologies

Item Description

Protection from Node Failure

Oracle HTTP Server: If the active node fails, the passive node takes over and runs the Oracle HTTP Server processes.

OC4J: If the active node fails, the passive node takes over and runs the OC4J processes.

Protection from Service Failure

Oracle HTTP Server and OC4J: On Windows, Oracle Fail Safe monitors the services on the active node. If a service goes down, Oracle Fail Safe tries to restart the service. If the service fails to start, then Oracle Fail Safe fails over the instance to node 2 (the passive node) and starts the services.

On UNIX, vendor clusterware provides similar services as Oracle Fail Safe.

Protection from Process Failure

Oracle HTTP Server: OPMN monitors Oracle HTTP Server processes and restarts them upon process failure. Each Oracle HTTP Server is also notified by OPMN when another Oracle HTTP Server process in the topology fails.

OC4J: OPMN monitors OC4J processes and restarts them upon process failure. OPMN also notifies mod_oc4j if the restart was not successful so that mod_oc4j will send requests only to OC4J processes that are alive.

See Section 2.1, "Process Management through OPMN" for more information on OPMN.