8 Deploying Oracle Exalytics for High Availability

This chapter describes how to horizontally scale out the Exalytics Machine for scalability (high-availability) and performance (load balancing). Chapter 3 describes using the installation scripts for a single computer. For multiple computers (such as a two-node cluster), you use the installation scripts for the first computer, then you install the software manually on other computers, without the use of scripts. After performing the steps in this chapter, see Chapter 4, "Postinstallation Tasks."

For additional details, see "Deploying Oracle Business Intelligence for High Availability" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

The chapter includes the following sections:

8.1 Requirements for High Availability

The following are required for a high availability configuration:

  • Each computer has an independent instance of Oracle TimesTen.

  • Each computer has an odbc.ini file that contains a separate DSN for each instance of Oracle TimesTen. Each Oracle TimesTen DSN uses the client/server mode of connection.

  • A BI Server repository can point to one or more physical repositories, but one set of aggregates exists per physical data source. Each physical data source has its own connection pool.

8.2 Diagram of High Availability

Figure 8-1 shows a diagram of high availability for the Exalytics Machine. In certain scenarios, the system might benefit from using Oracle HTTP Server in the web tier.

Figure 8-1 HIgh-Availability for the Exalytics Machine

Description of Figure 8-1 follows
Description of "Figure 8-1 HIgh-Availability for the Exalytics Machine"

8.3 Configuring for High Availability

This section describes the steps for configuring a highly available deployment:

Tip:

Because the installation process for the second node involves mostly manual steps using the Oracle Universal Installer, connect to the Exalytics Machine using a tool such as RealVNC remote control software.

8.3.1 Step 1: Preparing the First Exalytics Machine

Install Oracle Exalytics on the first Exalytics Machine using the instructions that are provided in Part I, "Installation" of this guide before installing on the second Exalytics Machine.

8.3.2 Step 2: Preparing the Second Exalytics Machine

To prepare the second Exalytics Machine:

  1. Create the user, as described in Section 3.2.1, "Step 1: Creating the User and Group on the Operating System."

  2. Create the inventory for Oracle TimesTen, as described in Section 3.2.2, "Step 2: Creating the Inventory for Oracle TimesTen."

  3. Create the following directory structure:

    • The location of the Middleware home, which must be the same logical directory name as on the first Exalytics Machine:

      /u01/app/oracle/product/fmw

    • The target directory for the Oracle TimesTen installation:

      /u01/app/oracle/product/TimesTen

  4. Download the files into the directory structure, as described in Section 3.2.5, "Step 5: Downloading Oracle Files into the Directory Structure." You do not have to download the files for the Repository Creation Utility.

8.3.3 Step 3: Installing Oracle WebLogic Server

Install Oracle WebLogic Server into the following directory, which becomes the Middleware home on the second Exalytics Machine:

/u01/app/oracle/product/fmw

To install Oracle WebLogic Server on the second Exalytics Machine:

  1. Run the following command:

    >./ wls1036_linux64.bin

  2. Select the custom option in the wizard and deselect Coherence, because the component does not need to be installed.

    The wizard automatically selects JRockit as the JVM to use, so keep this option selected.

  3. When the installation has completed, clear the option to run "quickstart" because this option is not required.

8.3.4 Step 4: Installing Oracle Business Intelligence

To perform a Software Only Install of Oracle Business Intelligence on the second Exalytics Machine:

  1. Enter the following commands:

    cd /home/oracle/EXALYTICS_INSTALLERS/bi/bishiphome/disk1
    >./runInstaller
    
  2. The first time that you install on the second Exalytics Machine, you are prompted to log in as "root" and to run a script to create the Oracle Inventory. Ensure that the location specified is /home/oracle/oraInventory.

  3. Navigate through the pages of the wizard until you can select the option to perform a Software Only Install.

  4. On the next page, ensure that the Oracle Middleware Home property is set to the directory where you installed Oracle WebLogic Server.

    The Oracle Home directory can be the default of Oracle_BI1.

  5. Navigate through the remaining pages of the wizard until the installation is complete.

8.3.5 Step 5: Scaling Out the Existing BI Domain

You scale out the existing BI domain from the second Exalytics Machine.

To scale out the BI Domain:

  1. Log on to the second Exalytics Machine.

  2. Enter the following commands:

    cd /u01/app/oracle/product/fmw/Oracle_BI1/bin
    >./config.sh
    
  3. Navigate through the pages of the wizard and select Scale Out BI System.

  4. Enter details of the first Exalytics Machine and the directory locations for the installation are populated automatically.

  5. Navigate through the remaining pages of the wizard until you can initiate the process by pressing Configure.

See "Using the Configuration Assistant to Scale Out the BI System" in Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Business Intelligence for information on running the config.sh script.

8.3.6 Step 6: Installing and Configuring Oracle TimesTen

To install and configure Oracle TimesTen:

  1. Enter the following commands:

    cd /home/oracle/EXALYTICS_INSTALLERS/tt
    >./setup.sh
    instance name tt1122 [default chosen]
    install client/server and data manager [default chosen]
    specify particular location for install [3]
    enter location [custom location chosen /u01/app/oracle/product/TimesTen]
    create daemon home - [default chosen]
    daemon logs - [default chosen]
    accept default port no - 53396
    restrict access to TT to group oracle? - Yes
    enable PL/SQL - yes [default chosen]
    TNS_ADMIN – not chosen during install.
    port for TT server - 53397
    quickstart and doc - no [default chosen]
    doc without quickstart - yes [default chosen] - location default
    TT replication with clusterware - no - [default chosen]
    
  2. Run the daemon configuration scripts for Oracle TimesTen as root, as described in Section 4.4, "Running the Daemon Configuration Scripts for Oracle TimesTen."

  3. On the first Exalytics Machine, configure the BI Server to communicate with either instance of Oracle TimesTen by creating two DSNs for Oracle TimesTen, as described in Section 4.7, "Configuring the ODBC Connection from Oracle Business Intelligence to Oracle TimesTen."

  4. On the second Exalytics Machine, perform the same procedure as in the previous step to create DSNs for Oracle TimesTen to configure the connectivity from the second BI Server to either instance of Oracle TimesTen.

  5. Update the opmn.xml file on the second Exalytics Machine to point to the driver location for ODBC for Oracle TimesTen by editing the following "variable" elements. The edited text is shown in bold.

    <variable id="LD_LIBRARY_PATH" value="$ORACLE_HOME/common/ODBC/Merant/5.3/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib:/u01/app/oracle/product/TimesTen/tt1122/lib" append="true"/>
    <variable id="TIMESTEN_DLL" value="/u01/app/oracle/product/TimesTen/tt1122/lib/libttclient.so"/>
    

    The opmn.xml file is in the following directory:

    /u01/app/oracle/product/fmw/instances/instance2/config/OPMN

  6. Stop and start the Notification Server (OPMN).

    1. Go to the following directory that contains the OPMN command-line tool:

      /u01/app/oracle/product/fmw/instances/instance2/bin

    2. Run the following command:

      ./opmnctl stopall

      Stops OPMN and all Oracle Business Intelligence system components.

    3. Go to the following directory that contains the OPMN command-line tool:

      /u01/app/oracle/product/fmw/instances/instance2/bin

    4. Run the following command:

      ./opmnctl startall

      Starts OPMN and all Oracle Business Intelligence system components.

      For more information, see "Using the OPMN Command Line to Start, Stop, Restart, and View the Status of System Components" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

  7. Validate that you can use a client/server DSN for Oracle TimesTen from the first Exalytics Machine by entering the following commands:

    cd $ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/
    . ./bi-init.sh (bash shell)
    cd Times-Ten-root-dir/tt1122/bin
    ./ttisqlcs –connstr "uid=oracle;pwd=welcome1;dsn=bim_tt1";
    

    These commands use the SQL client for Oracle TimesTen to connect to the Oracle TimesTen server on the first Exalytics Machine and validate that the BI Server can communicate with Oracle TimesTen.

  8. Repeat the previous step for the client/server DSN for Oracle TimesTen from the second Exalytics Machine.

8.3.7 Step 7: Scaling Out System Components to the Second Exalytics Machine

To configure the communication between Oracle Business Intelligence and Oracle TimesTen, you must scale out using Fusion Middleware Control to deploy the required Oracle Business Intelligence system component servers onto the second Exalytics Machine. This scale-out results in entries in the opmn.xml file on the second Exalytics Machine that can then be edited as needed.

To scale out system components to the second Exalytics Machine:

  1. Using Fusion Middleware Control, scale out the following system components as described in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition:

    • The Oracle BI Server

    • Oracle BI Presentation Services

    • JavaHost

    You should also scale out the following single components in the Oracle BI domain as a standby component: the Cluster Controller and the Oracle BI Scheduler.

8.3.8 Step 8: Configuring Shared Storage for Persistent Stores

As part of the process of configuring the Exalytics Machine, you must configure various persistent stores to be located on a shared directory location such as a NAS (network attached storage). The following list outlines those stores and includes link for information on configuring them:

8.3.9 Step 9: Configuring the Front-End Load Balancer

Configure a front-end load balancer, which is properly configured with the Oracle WebLogic Server Cluster Plug-in. For information, see "Configuring High Availability for Oracle Business Intelligence and EPM" in Oracle Fusion Middleware High Availability Guide.

8.4 Troubleshooting the Highly Available Deployment

This section contains solutions that are related to a highly available deployment:

8.4.1 Connection Issues with the Oracle BI Server and Oracle TimesTen

You might find that the BI Server cannot connect to Oracle TimesTen on either the first or the second node. To resolve this issue, check the following:

  • Verify that the DSNs for Oracle TimesTen are configured correctly in the odbc.ini and opmn.xml files, as described in the following list:

    • The odbc.ini file in the $ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup directory has the proper DSNs defined to connect to both instances of Oracle TimesTen, as described in Section 4.7, "Configuring the ODBC Connection from Oracle Business Intelligence to Oracle TimesTen."

    • The opmn.xml file in the $ORACLE_INSTANCE/config/OPMN/opmn/ directory has the LD_LIBRARY_PATH variable set correctly to point to the shared library folder for Oracle TimesTen. The TIMESTEN_DLL variable must also be defined correctly, as shown in the following example:

      <variable id="TIMESTEN_DLL" value="u01/app/oracle/product/TimesTen/tt1122/lib/libttclient.so"/>

  • The BI Server must use the ODBC driver for Oracle TimesTen Version 3.5 for connection.

    During deployment of a repository, ensure that you use ODBC driver for Oracle TimesTen Version 3.5 for the database connection pool. Without the use of this driver version, the BI Server cannot connect to Oracle TimesTen.

8.4.2 Client Installer Cannot Locate the Driver for Oracle TimesTen

After you use the Client Installer to install the Oracle BI Administration Tool on a Windows computer, you might notice that the Administration Tool displays an error message such as the following:

Unable to load Times Ten Driver ttclient.dll.

This error message indicates that you cannot use the ODBC drivers in Oracle TimesTen to import metadata from a physical table source for Oracle TimesTen. To resolve this issue, set the TIMESTEN_DLL environment variable to point explicitly to the driver location for Oracle TimesTen, as shown in the following example:

set TIMESTEN_DLL=C:\TimesTen\tt1122_32\bin\ttclient1122.dll

8.4.3 Oracle BI Server Does Not Fail Over to the Instance of Oracle TimesTen

If the BI Server does not fail over to the second Oracle TimesTen instance on the scaled-out node, then ensure that the logical table source (LTS) for the repository has mapped both the physical data sources for Oracle TimesTen. This mapping ensures that at the logical table source level, a mapping exists to both instances of Oracle TimesTen. If one instance of Oracle TimesTen is not available, then failover logic for the BI Server at the DSN level tries to connect to the other instance of Oracle TimesTen.

8.4.4 Aggregates Are Not Present in Second Instance

You might notice that aggregates that were created on the first instance of Oracle TimesTen are not available on the second instance of Oracle TimesTen. Keep in mind that no automatic replication exists between the Oracle TimesTen instances in the scaled-out deployment. The two instances are distinct and run on different computers but have the same deployed data stores. If you create aggregates using SQL scripts from Oracle BI Summary Advisor or the Aggregate Persistence Wizard on one instance of Oracle TimesTen, then you must manually create the same aggregates on the second instance of Oracle TimesTen. You must ensure that you keep the two instances of Oracle TimesTen synchronized. For information, see "Life Cycle Use Cases for Aggregate Persistence" in Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.