2.5 Setting Up a High Availability Environment

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:

For more information configuring high availability for Reports in Oracle Fusion Middleware, refer to the Oracle Fusion Middleware Enterprise Deployment Guide for Java EE and High Availability Guide.

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 server 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 12c Release (12.2.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 15.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. Navigate to the EM MBean browser Weblogic Domain > System MBean Browser.

    3. Navigate to reports server mbean.

      Inprocess server - oracle.reportsApp.config:Location=<managedServername>,name=rwserver,type=ReportsApp,Application=reports,ApplicationVersion=12.2.1.1

    4. In Operations tab click addJobRepository.

      It will add a child mbean called ReportsApp.JobRepository

    5. Click the mbean and use operation addProperty to add required properties - Username, Password Key and Database fields.

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

    For example,

    on Windows:

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

    on UNIX:

    <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:

    • 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="CacheDir" value="\\host\shared"/>
      

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

    For information about the CacheDir properties (new in Oracle Reports 12c Release (12.2.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 ($DOMAIN_HOME/bin/startNodeManager.sh). This is required for the reports in-process server to connect to the database. For more information, see "TNS_ADMIN"

    Note:

    The following are not supported in Reports High Availability:
    • rwclient is not supported in Reports High Availability.

    • namingService is not supported for Reports server discovery in High Availability setup. Only multicast is supported. For more information about High Availability about High Availability for Reports, see High Availability Guide.