2.5 Setting Up a High Availability Environment

11g Release 1 (11.1.1) provides numerous high availability (HA) enhancements, as listed in Table 2-1 in Section 2.1, "What's New In This Release?".

This section discusses the following topics pertinent to establishing a high availability environment:

2.5.1 Maintaining High Availability

Oracle Fusion Middleware consists of many components that can be deployed in distributed topologies. The underlying paradigm used to enable high availability for Oracle Fusion Middleware is clustering, which unites various Oracle Fusion Middleware components in certain permutations to offer scalable and unified functionality, and redundancy should any of the individual components fail.

Note:

Refer to the Oracle Fusion Middleware Enterprise Deployment Guide for Java EE and Oracle Fusion Middleware High Availability Guide for more information on the various solutions and techniques to achieve high availability in Oracle Fusion Middleware.

2.5.2 Configuring the rwservlet.properties file

Perform the following steps to configure the rwservlet.properties file:

  1. Make sure that the in-process server has a unique name. You can check the sever sub-element of the rwservlet.properties to verify the unique server name.

  2. Configure cluster in the rwservlet.properties file.

    <cluster clustername="ha_cluster" clusternodes="ha_server2"/>
    

    cluster name should be same in all rwservlet.properties files. Cluster nodes should include in-process server names which are part of the cluster except the current one. More than one server should be separated by a colon.

  3. Save the servlet configuration file.

Alternatively, you can configure a cluster through Oracle Enterprise Manager:

  1. Navigate to the Reports Application Home Page in Enterprise Manager.

  2. From the Reports menu, select System MBean Browser.

    The System MBean Browser page is displayed.

  3. From the left content pane, expand Application Defined MBeans > oracle.reportsApp.config > Server: WLS_REPORTS > Application: reports > ReportsApp.

  4. Select rwservlet from the list.

    The Application Defined MBeans: Report sApp:rwservlet page is displayed.

  5. Click the Operations tab.

  6. Select addCluster.

    The Operation:addCluster page is displayed.

  7. Enter valid values in the Cluster Name and Node fields.

  8. Click Invoke.

For more information about the rwservlet.properties file, refer to Section 7.3.1.1, "rwservlet"

2.5.3 Configuring Reports Server for High Availability

To configure Reports Server for high availability by using the database as the job repository, perform the following steps for each instance:

  1. Configure the database job repository for in-process Reports Servers in all instances in the rwserver.conf file of all Reports Servers.

    Note that in 11g Release 1 (11.1.1) the server configuration file must correspond to the rwserverconf.xsd file (refer to Section 7.2.1, "Reports Server Configuration Elements"), which means that the order in which different entries appear inside the server configuration file is no longer random, but fixed by the XSD. As a result, the following element must be added immediately before the <connection> element in the server configuration file:

    <jobRepository>
    <property name="dbuser" value="dbuser"/>
    <property name="dbpassword" value="csf:reports:dbpasswdKey"/>
    <property name="dbconn" value="dbconn"/>
    </jobRepository>
    

    For information about adding a password key in the credential store, see Section 14.1.4, "Credential Store".

  2. Save the server configuration file.

    Alternatively, you can configure the database job repository through Oracle Enterprise Manager:

    1. Navigate to the Reports Application home page in Enterprise Manager.

    2. From the Reports menu, select Administration > Advanced Configuration.

      The Reports Application Advanced Configuration page is displayed.

    3. Locate the Job Repository content pane in the Advanced Configuration page.

    4. Select the Enable Job Repository DB checkbox.

    5. Enter valid values in the Username, Password Key and Database fields.

    6. Click Apply.

  3. Configure a folder to which all instances have access (write access is needed, read access is not enough) by adding the CacheDir or JOCCacheDir property to the <cache> element of each of the server configuration files,

    For example,

    on Windows:

    <property name="JOCCacheDir" value="folder_name"/>
    <property name="CacheDir" value="folder_name"/>
    

    on UNIX:

    <property name="JOCCacheDir" value="/net/machine_name/usrs/tmp"/>
    <property name="CacheDir" value="/net/machine_name/usrs/tmp"/>
    

    where, "/usrs/tmp" is a shared location when Reports Server is running on different machines and has write privileges.

    Note:

    • Along with JOCCache Dir, CacheDir can also be used for high availability for sharing the cache.
    • In a case where the in-process Reports Servers are running on different machines, the configuration can be done by sharing a folder to the other machine or user. For example, on Windows, configure the shared cache for both in-process Reports Servers by adding the following property to the <cache> element of each of the server configuration files:

      <property name="JOCCacheDir" value="\\host\shared"/>
      

      where host is the machine where the shared folder is available, and shared is the folder name

    Alternatively, you can specify the value for JOC Cache directory through Oracle Enterprise Manager:

    1. Navigate to the Reports Application Home page in Enterprise Manager.

    2. From the Reports menu, select Administration > Advanced Configuration.

      The Reports Application Advanced Configuration page is displayed.

      Note:

      You can use the System MBean Browser to add JOC Cache directory for the first time.

      The High Availability parameters section in Enterprise Manager is displayed only when the server is part of the HA cluster and the in-process server is running.

    3. Locate the High Availability Parameters section in the content pane.

    4. Enter a valid folder name in the Cluster Cache Directory field.

    5. Click Apply.

    For information about the JOCCacheDir and CacheDir properties (new in Oracle Reports 11g Release 1 (11.1.1), refer to Chapter 7, "Configuring Oracle Reports Services".

  4. Load the rw_server.sql file to a database (this file is included with your Oracle Reports Services installation: ORACLE_HOME\reports\admin\sql)

    This creates a schema that owns the report queue information and has execute privileges on the server queue API.

  5. Restart the Reports Server.

  6. Set the Environment variables TNS_ADMIN and ORACLE_HOME in the shell and start the node manager ($FMW_HOME/wlserver_10.3/server/bin/startNodeManager.sh). This is required for the reports in-process server to connect to the database.

    For more information, see "TNS_ADMIN".

    You can use Oracle WebCache as a load balancer. For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle Web Cache

2.5.3.1 Configuring Oracle Enterprise Manager for High Availability

When High Availability is setup across two different domains in Oracle Enterprise Manager, you need to configure the Enterprise Manager settings. This enables both the domains to access the data from all the servers.

  1. Navigate to your Domain Home Page in Enterprise Manager.

  2. From the WebLogic Domain menu, select Security > Credentials.

  3. Select the Reports map and edit EMServerPasswordKey and enter a password.

  4. Repeat the steps from one to three for the other domain and enter the same password.

  5. Restart the Enterprise Manager Agent in both the domains.

    In ORACLE_INSTANCE/bin of each domain

    ./opmnctl stopproc ias-component=<emagent_name>
    ./opmnctl startproc ias-component=<emagent_name>
    ./opmnctl restartproc ias-component=<emagent_name>
    
  6. Restart the Reports Server in both the domains.

When you have finished configuring the Enterprise Manager settings for both the domains, the Enterprise Manager console monitors and manages jobs in the job queues of all the HA servers.