Set up an Essbase Failover Environment Using the Failover Setup Script

Starting with Release 21.5.2, you can use the Essbase Failover Setup Script to automate the following workflows which, in previous releases, were required to be done manually:

Instead of following manual steps, use the following workflow to automate failover setup in Release 21.5.2 and higher.

Get Started

  1. Follow the steps in Essbase Failover Prerequisites.
  2. Log in to the primary node, open a command prompt or terminal, and ping the secondary (failover) node. Make note of its public IP.
    Example
    ping secondaryhost.example.com
  3. Log in to the secondary (failover) node, open a command prompt or terminal, and ping the primary node. Make note of its public IP.
    Example
    ping primaryhost.example.com

Set Up the Primary Node (Host 1)

  1. On the primary node (host 1), open the Essbase Server configuration file, and add the configuration property: FAILOVERMODE TRUE. See Set Server-Level Configuration Properties.
  2. On the primary node (host 1), navigate to the Essbase Failover Setup Script in <Essbase Product Home>/modules/oracle.essbase.sysman/scripts/failover.

    If you do not know where <Essbase Product Home> is, see Environment Locations in the Essbase Platform for details.

    Linux Example

    cd /scratch/username/oracle_home/essbase/modules/oracle.essbase.sysman/scripts/failover
    Windows Example
    chdir C:\Oracle\Middleware\Oracle_Home\essbase\modules\oracle.essbase.sysman\scripts\failover
  3. Required for Linux only: On the primary node (host 1), change the access permissions to make the Essbase Failover Setup Script executable.

    Example

    chmod +x essbaseFailoverSetup.sh
  4. On the primary node (host 1), run the Essbase Failover Setup Script to set up the primary configuration. The script usage syntax is as follows:

    essbaseFailoverSetup.sh [-primaryconfig] [-failoverconfig] [-listnodes] [-deletenode]
    -primaryconfig  - For  primary node configuration
    -failoverconfig - For failover node configuration
    -listnodes - For listing failover nodes  
    -deletenode - For removing the failover node from the cluster

    Script Session Example

    1. Run the script with the -primaryconfig option.
      Linux Example
      ./essbaseFailoverSetup.sh –primaryconfig

      Windows Example

      .\essbaseFailoverSetup.cmd –primaryconfig
    2. If there are multiple domains configured in the WebLogic system, the script will display all the domain homes, and you are prompted to choose the domain home. If there is a single domain home, then the system uses that domain without a prompt.

      Example:

      Identified multiple domains, listed as below: 
      Choose the Essbase domain home path(<DOMAIN_HOME>) from the list:  
      ../domains/esscs
      ../domains/esscs2

      At the prompt, enter the shared network path for the Essbase <Application Directory>. It must be the same network path entered in step 1 of Essbase Failover Prerequisites.

      Linux Example
      /u01/essbase_data
      Windows Example
      z:\essbase_mount

      Note:

      In an environment set up for failover, the application directory must be a shared network mount accessible by both hosts.
    3. At the prompt, enter the failover node's name. If TLS was enabled, enter the Managed Server Secure Port. If TLS was not enabled, enter the Managed Server port. Enter the Node Manager port.

      Examples
      essbase_domain2 
      9001 
      9555

      If you entered a secure port, you must also complete the configuration of TLS for Essbase failover.

    4. At the prompts, enter the failover and primary nodes’ public IP addresses that you obtained in previous steps.
      Examples
      100.x.x.01 
      100.x.x.02

      Once you have provided all the inputs to the script, it finishes configuring failover for the primary node. Now you can move on to secondary node configuration.

Set up the Secondary Node (Host 2)

  1. SSH to the secondary node, Host 2.
  2. Navigate to the Essbase Failover Setup Script in <Essbase Product Home>/modules/oracle.essbase.sysman/scripts/failover.

    If you do not know where <Essbase Product Home> is, see Environment Locations in the Essbase Platform for details.

    Linux Example
    cd /scratch/username/oracle_home/essbase/modules/oracle.essbase.sysman/scripts/failover
    Windows Example
    chdir C:\Oracle\Middleware\Oracle_Home\essbase\modules\oracle.essbase.sysman\scripts\failover
  3. Required for Linux only: On the secondary/failover node (host 2), change the access permissions to make the Essbase Failover Setup Script executable.
    Example
    chmod +x essbaseFailoverSetup.sh
  4. On the secondary/failover node (host 2), run the Essbase Failover Setup Script to set up the failover node configuration.

    The script usage syntax is as follows:

    essbaseFailoverSetup.sh [-primaryconfig] [-failoverconfig] [-listnodes] [-deletenode]
    -primaryconfig  - For  primary node configuration
    -failoverconfig - For failover node configuration
    -listnodes - For listing failover nodes  
    -deletenode - For removing the failover node from the cluster

    Script Session Example

    1. Run the script with the -failoverconfig option.
      Linux Example
      ./essbaseFailoverSetup.sh –failoverconfig
      Windows Example
      .\essbaseFailoverSetup.cmd –failoverconfig
    2. At the prompt, enter the shared network path for the Essbase <Application Directory>. If you do not know where <Application Directory> is, see Environment Locations in the Essbase Platform for details.
      Linux Example
      /u01/essbase_data
      Windows Example
      z:\essbase_mount

      Note:

      In an environment set up for failover, the application directory must be a shared network mount accessible by both hosts.
    3. At the prompt, enter the primary node’s domain name. This must match the values you provided during configuration.
      Example
      /scratch/user/oracle_home/user_projects/domains/essbase_domain

      Once you have provided all the inputs to the script, it finishes configuring failover for the secondary node.

Additional Configurations

  1. On both nodes, update the managed server startup properties to reference the Oracle HTTP Server (OHS) load balancer host name and port.
    1. Configure OHS entries for primary and secondary nodes using the steps documented in Configure a Load Balancer to Support Failover.
    2. On both the primary and failover nodes:

      On Linux, edit <Domain Home>\bin\setStartupEnv.sh

      On Windows, edit <Domain Home>\bin\setStartupEnv.cmd

      • Search for the string DISCOVERY_URL for the ESSBASE-MAN-SVR startup group, and change the hostname and port to the Oracle HTTP Server URL.
        Example
        -DDISCOVERY_URL=http(s)://OHS_HOST:OHS_PORT/essbase/agent
      • If Essbase Administration Services (EAS Lite) is also enabled, edit the file <Domain Home>/bin/setStartupEnv.sh (on Linux) or <Domain Home>\bin\setStartupEnv.cmd (on Windows):

        1. Search for "DISCOVERY_URL" for ESSBASE-EAS-SVR startup group (not ESSBASE-MAN-SVR).

        2. Change DISCOVERY_URL to point to the Oracle HTTP Server URL.

          -DDISCOVERY_URL=http(s)://OHS_HOST:OHS_PORT/essbase/agent
  2. Start and validate Essbase Failover Configuration using the steps in Start and Validate the Essbase Failover Configuration.