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:
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.
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
This section describes the steps for configuring a highly available deployment:
Section 8.3.1, "Step 1: Preparing the First Exalytics Machine"
Section 8.3.2, "Step 2: Preparing the Second Exalytics Machine"
Section 8.3.4, "Step 4: Installing Oracle Business Intelligence"
Section 8.3.6, "Step 6: Installing and Configuring Oracle TimesTen"
Section 8.3.7, "Step 7: Scaling Out System Components to the Second Exalytics Machine"
Section 8.3.8, "Step 8: Configuring Shared Storage for Persistent Stores"
Section 8.3.9, "Step 9: Configuring the Front-End Load Balancer"
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.
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.
To prepare the second Exalytics Machine:
Create the user, as described in Section 3.2.1, "Creating the User, Group, and Password on the Operating System."
Create the inventory for Oracle TimesTen, as described in Section 3.2.2, "Creating the Inventory for Oracle TimesTen."
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
Download the files into the directory structure, as described in Section 3.2.4, "Downloading Oracle Files into the Directory Structure." You do not have to download the files for the Repository Creation Utility.
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:
Configure the JAVA_HOME and PATH variables for the JDK by performing the following actions:
Run the following commands:
# export JAVA_HOME=/usr/jdk/instances/jdk1.6.0
# export PATH=/usr/jdk/instances/jdk1.6.0/bin:$PATH
Run the following command to verify that JDK is configured correctly:
# java -version
The output should look similar to the following:
bash-4.1$ java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) Server VM (build 20.45-b01, mixed mode) bash-4.1$
Download wls1036_generic.jar from Oracle Software Delivery Cloud at the following location:
Navigate to the directory where you downloaded the WebLogic Server zip file.
Run the following command to install Oracle WebLogic Server:
# java -d64 -jar wls1036_generic.jar
Select the custom option in the wizard and deselect Coherence, because the component does not need to be installed.
To perform a Software Only Install of Oracle Business Intelligence on the second Exalytics Machine:
Enter the following commands:
cd /home/oracle/EXALYTICS_INSTALLERS/bi/bishiphome/disk1 >./runInstaller
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.
Navigate through the pages of the wizard until you can select the option to perform a Software Only Install.
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.
Navigate through the remaining pages of the wizard until the installation is complete.
You scale out the existing BI domain from the second Exalytics Machine.
To scale out the BI Domain:
Log on to the second Exalytics Machine.
Enter the following commands:
cd /u01/app/oracle/product/fmw/Oracle_BI1/bin >./config.sh
Navigate through the pages of the wizard and select Scale Out BI System.
Enter details of the first Exalytics Machine and the directory locations for the installation are populated automatically.
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.
To install and configure Oracle TimesTen:
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]
Run the daemon configuration scripts for Oracle TimesTen as root, as described in Section 4.4, "Running the Daemon Configuration Scripts for Oracle TimesTen."
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."
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.
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
Stop and start the Notification Server (OPMN).
Go to the following directory that contains the OPMN command-line tool:
/u01/app/oracle/product/fmw/instances/instance2/bin
Run the following command:
./opmnctl stopall
Stops OPMN and all Oracle Business Intelligence system components.
Go to the following directory that contains the OPMN command-line tool:
/u01/app/oracle/product/fmw/instances/instance2/bin
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.
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.
Repeat the previous step for the client/server DSN for Oracle TimesTen from 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:
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.
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:
Repository for the Oracle BI Server. Specify a shared RPD publishing directory in Fusion Middleware Control to propagate online repository changes in a cluster. The master BI Server copies its local repository to this directory when online changes are made. When slave BI Servers start, if the version in the publishing directory is newer, then each slave server copies the version in the shared directory to its local disk.
For information, see "Using Fusion Middleware Control to Upload a Repository and Set the Oracle BI Presentation Catalog Location" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.
Oracle BI Presentation Catalog. Each Oracle BI Presentation Services instance loads the catalog from the catalog location that is specified in Fusion Middleware Control. Copy any existing catalogs to shared storage before reconfiguring this location to shared storage.
For information, see "Using Fusion Middleware Control to Upload a Repository and Set the Oracle BI Presentation Catalog Location" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.
Global cache. The global cache resides on a shared file system and stores purging events, seeding events (which are often generated by agents), and results sets that are associated with seeding events. Each BI Server maintains its own local query cache for regular queries. The query cache for the BI Server continues to be located on the local node.
For information, see "Using Fusion Middleware Control to Set Global Cache Parameters" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.
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.
This section contains solutions that are related to a highly available deployment:
Section 8.4.1, "Connection Issues with the Oracle BI Server and Oracle TimesTen"
Section 8.4.2, "Client Installer Cannot Locate the Driver for Oracle TimesTen"
Section 8.4.3, "Oracle BI Server Does Not Fail Over to the Instance of Oracle TimesTen"
Section 8.4.4, "Aggregates Are Not Present in Second Instance"
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.
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
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.
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.