6 Deploying Oracle Business Intelligence for High Availability

This chapter describes how to configure Oracle Business Intelligence components for high availability. It also describes the functionality available in Fusion Middleware Control to manage system availability, and provides information about using the Cluster Manager in the Administration Tool.

This chapter does not provide information about setting up additional high availability configuration for other components in the stack, including database tier, web tier, Administration Server, and identity management availability. For more information about these topics and how they relate to Oracle Business Intelligence deployments, see the following documents:

This chapter includes the following sections:

6.1 About Oracle Business Intelligence Components in a Clustered Environment

Figure 6-1 shows the system components and Java components in a highly available Oracle Business Intelligence deployment. See Section 1.3.3, "About Java Components and System Components for Oracle Business Intelligence" for more information about system components and Java components.

Figure 6-1 A Highly Available Oracle Business Intelligence Deployment

Description of Figure 6-1 follows
Description of "Figure 6-1 A Highly Available Oracle Business Intelligence Deployment"

In Figure 6-1, the Oracle Business Intelligence Java components are deployed on the BI_SERVER1 and BI_SERVER2 Managed Servers on APPHOST1 and APPHOST2. These Managed Servers are configured in an Oracle WebLogic cluster.

Oracle BI Presentation Services, JavaHost, Oracle BI Cluster Controller, Oracle BI Scheduler, and Oracle BI Server are system components installed on APPHOST1 and APPHOST2 and configured as a cluster. The Cluster Controller and Oracle BI Scheduler on APPHOST2 are passive (they are started but do not service requests) and are only made active if APPHOST1 components fail.

In the data tier, shared external storage is configured to store the Oracle BI Presentation Catalog, Oracle BI Server global cache, Oracle BI repository, and Oracle BI Scheduler script data.

6.1.1 Recommendations for Availability

In a production system, it is recommended that you deploy two or more instances of every component on two or more computers, so that each component type has an instance running on more than one computer for fault tolerance. This configuration provides redundancy for Managed Servers and system components, an essential requirement for high availability and failover. You can see whether the system has any single points of failure by using the Availability tab of the Capacity Management page in Fusion Middleware Control. See Section 6.1.2, "Using Fusion Middleware Control to Identify Single Points of Failure" for more information.

You can also ensure high availability by configuring redundancy in the database tier (Oracle RAC recommended), web tier, and for the Administration Server. See "Configuring High Availability for Oracle Business Intelligence and EPM" in Oracle Fusion Middleware High Availability Guide for more information.

Note also the following requirements:

  • All Oracle BI Servers participating in the cluster must be within the same domain and on the same LAN subnet. Geographically separated computers are not supported.

  • The clock on each server participating in a cluster must be kept in synchronization. Out-of-sync clocks can skew reporting.

6.1.2 Using Fusion Middleware Control to Identify Single Points of Failure

Before you begin this procedure, ensure that you are familiar with the information in Section 3.2, "Using Fusion Middleware Control to Update Oracle Business Intelligence Configuration Settings."

To identify single points of failure:

  1. Go to the Business Intelligence Overview page, as described in Section 2.2.3, "Using Fusion Middleware Control to Manage Oracle Business Intelligence System Components."

  2. Display the Failover tab of the Availability page.

    On this page, you can view recommendations about whether to scale out system components or configure primary/secondary system components.

    Click the Help button on the page to access the page-level help for its elements.

  3. If you must scale out the Oracle BI Server, Oracle BI JavaHost, or Oracle BI Presentation Services, then you can click Scale Out Selected in the Single Points of Failure section to go to the Scalability tab of the Capacity Management page to scale out a system component. See Section 5.5, "Using Fusion Middleware Control to Scale System Components" for more information.

  4. If you have a Cluster Controller or Oracle BI Scheduler that must be configured, the Single Points of Failure table displays the message "Configure Primary/Secondary." See Section 6.2.1, "Using Fusion Middleware Control to Configure Primary and Secondary Instances" for information about how to do this.

6.1.3 Achieving High Availability Using an Active-Passive Model

As an alternative to setting up the active-active configuration described in the previous sections, you can set up Oracle Business Intelligence in an active-passive configuration using Oracle Fusion Middleware Cold Failover Cluster (Cold Failover Cluster). In a Cold Failover Cluster configuration, two or more application server instances are configured to serve the same application workload, but only one is active at any particular time.

A two-node Cold Failover Cluster can be used to achieve active-passive availability for Oracle Business Intelligence. In a Cold Failover Cluster, one node is active while the other is passive, on standby. In the event that the active node fails, the standby node is activated, and Oracle Business Intelligence continues servicing clients from that node. All Oracle Business Intelligence components are failed over to the new active node. No Oracle Business Intelligence components run on the failed node after the failover.

See "Active-Passive Topologies for Oracle Fusion Middleware High Availability" in Oracle Fusion Middleware High Availability Guide for detailed information.

6.2 Configuring Oracle Business Intelligence Components for High Availability

To configure Oracle Business Intelligence for high availability, you must ensure that the system has no single points of failure by scaling out the Oracle BI Server, Presentation Services, and the JavaHost so that you have at least two of each component type, distributed across at least two computers.

You also must configure primary and secondary instances of the Cluster Controller and Oracle BI Scheduler, so that the primary and secondary instances for each component type are distributed across two different computers.

Table 6-1 lists the tasks that you must perform to configure high availability for Oracle Business Intelligence.

Table 6-1 Task Summary for Configuring High Availability

Task Where to Go for More Information

Horizontally scale out the Oracle Business Intelligence deployment so that it includes two computers with a full set of Java and system components on each host. This task includes running the Oracle Business Intelligence installer, configuring shared files and directories, and scaling out system components using Fusion Middleware Control.

Section 5.3, "Horizontally Scaling Oracle Business Intelligence"

Configure primary and secondary instances of the Cluster Controller and Oracle BI Scheduler.

Section 6.2.1, "Using Fusion Middleware Control to Configure Primary and Secondary Instances"

Verify that the new components are available.

Section 5.6.1, "Using Fusion Middleware Control to View System Component Availability"


6.2.1 Using Fusion Middleware Control to Configure Primary and Secondary Instances

You can use Fusion Middleware Control to configure primary and secondary instances of the Cluster Controller and Oracle BI Scheduler.

Figure 6-2 shows the Failover tab of the Availability page.

Figure 6-2 Failover Tab of Availability Page in Fusion Middleware Control

Description of Figure 6-2 follows
Description of "Figure 6-2 Failover Tab of Availability Page in Fusion Middleware Control"

Before you begin this procedure, ensure that you are familiar with the information in Section 3.2, "Using Fusion Middleware Control to Update Oracle Business Intelligence Configuration Settings."

To configure primary and secondary instances of the Cluster Controller and Oracle BI Scheduler:

  1. Go to the Business Intelligence Overview page, as described in Section 2.2.3, "Using Fusion Middleware Control to Manage Oracle Business Intelligence System Components."

  2. Display the Failover tab of the Availability page.

    On this page, you can configure primary and secondary instances of the Cluster Controller and Oracle BI Scheduler.

    Click the Help button on the page to access the page-level help for its elements.

  3. Click Lock and Edit Configuration to enable changes to be made.

  4. In the Primary/Secondary Configuration section, specify the Secondary Host/Instance for Oracle BI Scheduler, BI Cluster Controller, and Essbase Agent.

    For more information on configuring for Essbase, see "Configuring Secondary Instances of Singleton System Components" in Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Business Intelligence.

  5. Click Apply.

    Under Potential Single Points of Failure, you see No problems - all components have a backup.

  6. Click Activate Changes

  7. Return to the Business Intelligence Overview page and click Restart.

For information about using methods in the Oracle BI Systems Management API to manage availability, see Chapter 23, "Introducing the Oracle BI Systems Management API."

6.3 Optional Configuration for Oracle Business Intelligence High Availability

Follow the steps in this section to perform optional configuration for Oracle Business Intelligence high availability.

This section contains the following topics:

6.3.1 Setting Optional Cluster Controller Parameters

You can set optional parameters that are related to Cluster Controller heartbeat frequency in the ClusterConfig.xml file.

A copy of the ClusterConfig.xml file must reside on all computers that host a Cluster Controller, Oracle BI Server, or Oracle BI Scheduler component that participates in the cluster. You must set parameters in each copy of the file.

To set optional parameters in the ClusterConfig.xml file:

  1. Open the ClusterConfig.xml file for editing. You can find the file at:

    ORACLE_INSTANCE/config/OracleBIApplication/coreapplication

  2. Table 6-2 describes default values for the cluster communication parameters under the ClusterProperties element. Optionally, modify the parameter values as required for the deployment.

    Table 6-2 ClusterConfig.xml Parameters for Cluster Communication

    Parameter Description Default Value

    ServerPollSeconds

    The frequency in seconds of heartbeat messages between the Cluster Controller and the Oracle BI Server and Oracle BI Scheduler nodes in the cluster.

    5

    ControllerPollSeconds

    The frequency in seconds of heartbeat messages between the Cluster Controllers.

    5


  3. Save and close the file.

  4. Repeat these steps for every host in the deployment.

  5. Restart Oracle Business Intelligence.

Example 6-1 shows example parameters in the ClusterConfig.xml file. Note that any additional elements that are not shown in this example are centrally managed and cannot be set manually.

Example 6-1 Sample Parameters for Clustering in ClusterConfig.xml

<ClusterProperties>
  <ServerPollSeconds>5</ServerPollSeconds>
  <ControllerPollSeconds>5</ControllerPollSeconds>
</ClusterProperties>

6.3.2 Setting Optional Presentation Services Parameters

You can optionally configure certain parameters that control the communication between Presentation Services and the JavaHost component. To configure Presentation Services, set parameters in the instanceconfig.xml file on each computer that hosts Presentation Services.

To configure Presentation Services for clustering:

  1. Open the configuration file instanceconfig.xml for editing. You can find instanceconfig.xml at:

    ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/
    coreapplication_obipsn

  2. Under the ServerInstance tag, the JavaHostProxy element has optional subelements. Table 6-3 describes these optional subelements.

    Table 6-3 Optional Subelements for the JavaHostProxy Element

    Subelement Attribute Description

    LoadBalancer/Ping

    keepAliveMaxFailures

    Specifies the number of ping failures required before the host is declared nonfunctioning. The default value is 5.

    LoadBalancer/Ping

    keepAliveFrequencySecs

    Specifies the ping frequency in seconds. The default value is 20.


  3. Save and close the file.

  4. Repeat these steps for every Presentation Services instance in your deployment.

  5. Restart Oracle Business Intelligence.

6.3.3 Setting Optional Oracle BI Presentation Services Plug-in Parameters

You can optionally configure the Oracle BI Presentation Services Plug-in to control session redirection behavior. To do this, you must perform the steps in this section on each computer where the analytics Java component is installed.

To set optional parameters for the Oracle BI Presentation Services Plug-in:

  1. Open the bridgeconfig.properties file for editing. You can find this file at:

    MW_HOME/user_projects/domains/domain_name/config/fmwconfig/
    biinstances/coreapplication

  2. Optionally, you can include the parameter AlwaysKeepSessionAffiliation to control whether requests that belong to the same session can be redirected to another Presentation Services component if the current Presentation Services component score is too low.

    The instance score is an internal score that the load balancing algorithm associates with each Presentation Services instance in the cluster. It is based on various metrics that are collected by the load balancer.

    Set this parameter to true to disallow request redirection, or false to allow requests to be redirected. For example:

    oracle.bi.presentation.sawconnect.loadbalance.AlwaysKeepSessionAffiliation=true
    
  3. Save and close the file.

  4. Restart the analytics application from the Oracle WebLogic Server Administration Console. If Oracle BI Publisher is using the Oracle BI Presentation Catalog, then the xmlpserver application must also be restarted.

  5. Repeat these steps for each computer that hosts the analytics Java component.

6.4 Using the Cluster Manager

The Cluster Manager in the Administration Tool was used in previous releases to monitor and manage Oracle BI Server, Oracle BI Scheduler, and Cluster Controller instances. This tool is still supported in the current release.

Although you use Fusion Middleware Control for most administrative tasks that relate to clustered components, the Cluster Manager provides a useful way to view the state of clustered components. For example, you can view the currently active Oracle BI Scheduler instance and see which Oracle BI Server is the Master BI Server. Fusion Middleware Control shows the current status of clustered components, but does not provide a way to view the current state.

The Cluster Manager lets you monitor, analyze, and manage the operations of Oracle BI Server, Oracle BI Scheduler, and Cluster Controller instances in a cluster. It provides status, cache, and session information. The Cluster Manager is available only when the Administration Tool is connected to a clustered DSN.

If all Cluster Controllers or Oracle BI Servers in the cluster are currently stopped or offline, then you cannot access the Cluster Manager to start them. You must manually start one Cluster Controller (generally, the primary) and one Oracle BI Server.

The Cluster Manager window has two panes: the Explorer pane on the left side and the Information pane on the right side. The Explorer pane displays hierarchical information about the servers, schedulers, and controllers that comprise a cluster. The Information pane shows detailed information about an item selected in the Explorer pane.

The Cluster Manager window refreshes every minute by default. You can change the interval.

To set the refresh interval for the display:

  1. In the Administration Tool, open a repository in online mode.

  2. Select Manage, then Clusters.

  3. Select Refresh, then Every, and select another value from the list.

  4. To refresh the display at any time, ensure that the Cluster Manager is the active window and press F5, or select Refresh, then Now. This action retrieves the most current information for the cluster.

6.4.1 Viewing and Managing Cluster Information

The section describes how to view status, cache, and session information about a cluster and the meaning of the information provided.

6.4.1.1 Status Information

The Status view is automatically displayed when you first open the Cluster Manager window. You can also access the Status view by selecting View, then Status in the Cluster Manager window.

The categories of information that are displayed in the Information pane might vary depending on the server to which the Administration Tool is connected. Table 6-4 describes categories that might appear.

Table 6-4 Status Columns

Column Description

Last Reported Time

The time that the Cluster Controller or Oracle BI Server communicated with the Controlling Cluster Controller. If the server or controller is offline, then this field might be blank.

Name

The name of the computer that is hosting the Oracle BI Server or Cluster Controller.

Role

The role of the object in the cluster:

  • Controlling. A Cluster Controller that is currently assigned the responsibility for control of the cluster.

  • Primary. The Primary Cluster Controller. This role is not displayed if the Primary Cluster Controller is currently the controlling Cluster Controller.

  • Secondary. The Secondary Cluster Controller. This role is not displayed if the Secondary Cluster Controller is currently the controlling Cluster Controller.

  • Clustered server. An Oracle BI Server that is a member of the cluster. This role is not displayed for the clustered server that is defined as the master server.

  • Master. The clustered server that the Administration Tool connects to for editing repositories in online mode.

  • Active. The Oracle BI Scheduler is active.

Sessions

This field is available when either Servers or an individual server is selected in the Explorer pane. It shows the number of sessions that are currently logged on to a clustered server.

Start Time

The timestamp showing when the Cluster Controller or Oracle BI Server was last started. This field is blank if the Cluster Controller or clustered server is offline.

Status

The status of the object in the cluster:

  • Online. The Cluster Controller or Oracle BI Server is online. Online Cluster Controllers can accept session requests and assign them to available servers within the cluster. Online Oracle BI Servers can be assigned sessions by the Cluster Controller.

  • Quiesce. This status is applicable to clustered servers only. When a server is quiesced, any activity in progress on outstanding sessions can complete before the server transitions to Offline status.

  • Offline. The Cluster Controller or Oracle BI Server is offline. Offline Cluster Controllers cannot accept session requests or assign sessions to available servers within the cluster. Offline Oracle BI Servers do not communicate with the controlling Cluster Controller and cannot accept sessions assigned by the controlling Cluster Controller. If the server subsequently becomes available, then the server can participate in the cluster. To stop the Cluster Controller or clustered server after quiescing it, enter the Stop command.

  • Forced Offline. This status applies to clustered servers only. The Oracle BI Server has been stopped. This is identical to the offline status, except that if the Oracle BI Server comes back online, it is not assigned requests. The server remains in this state until the Start command is issued against this server from the Administration Tool Cluster Manager, or both Cluster Controllers are shut down and restarted.

  • Online: Active. The Oracle BI Scheduler instance is online, running, and the one to which Oracle BI Scheduler clients connect. This instance executes jobs.

  • Online: Inactive. The Oracle BI Scheduler is online but not running. This instance is ready to take over for the active instance if the active instance becomes unavailable.

  • Online: Inactive Pending. The Oracle BI Scheduler was active and is trying to go into an inactive state. This might take a few minutes (for example, if multiple jobs are running).

Type

When Clusters is selected in the Explorer pane, this field is available. There are three types:

  • Controller. The object is a Cluster Controller.

  • Server. The object is an Oracle BI Server.

  • Scheduler. The object is a Scheduler Server.


6.4.1.2 Cache Information

The Cache view is available in the Cluster Manager window if caching is enabled.

The categories of information and their display sequence are controlled by the Options settings. Table 6-5 describes categories that might appear.

Table 6-5 Cache View Columns

Column Description

Business Model

Name of the business model that is associated with the cache entry.

Column count

Number of columns in each row of this cache entry's result set.

Created

Time the result set of the cache entry was created.

Creation elapsed time

Time, in milliseconds, needed to create the result set for this cache entry.

Full size

Full size is the maximum size used, considering variable length columns, compression algorithm, and other factors. The actual size of the result set is smaller than Full size.

Last used

Last time the result set of the cache entry satisfied a query. (After an unexpected shutdown of an Oracle BI Server, the Last used time might temporarily have a stale value, that is, older than the true value.)

Row count

Number of rows that are generated by the query.

Row size

Size of each row (in bytes) in this cache entry's result set.

SQL

Text of the SQL statement that generated the cache entry.

Use count

Number of times that this cache entry's result set has satisfied a query (since Oracle BI Server startup).

User

Name of the user who submitted the query that resulted in the cache entry.


To view cache information:

  1. Click an individual server in the Explorer pane, and then select View, then Cache.

6.4.1.3 Session Information

The Session view is available for Oracle BI Servers. The information is arranged in two windows, described in Table 6-6.

  • Session window: Appears on the top. Shows users currently logged on to the Oracle BI Server.

  • Request window: Appears on the bottom. Shows active query requests for the user selected in the Session window.

Table 6-6 describes the information that is displayed in the Session window.

Table 6-6 Session Window Columns (Top Window)

Column Description

Catalog

Name of the Oracle BI Presentation Catalog to which the session is connected.

Client Type

Type of client session. The client type of Administration is reserved for the user who is logged in with the Oracle BI Administrator user ID.

Last Active Time

Timestamp of the last activity on the session or the query.

Logon Time

Timestamp when the session logged on to the Oracle BI Server.

Repository

Logical name of the repository to which the session is connected.

Session ID

Unique internal identifier that the Oracle BI Server assigns each session when the session is initiated.

User

Name of the user connected.


Table 6-7 describes the information that is displayed in the Request window.

Table 6-7 Request Window Columns (Bottom Window)

Column Description

Last Active Time

Timestamp of the last activity on the session or the query.

Request ID

Unique internal identifier that the Oracle BI Server assigns each query when the query is initiated.

Session ID

Unique internal identifier that the Oracle BI Server assigns each session when the session is initiated.

Start Time

Time of the initial query request.

Status

These are the possible values. Due to the speed at which some processes complete, not all values for any given request or session might appear.

  • Idle. There is presently no activity on the request or session.

  • Fetching. The request is being retrieved.

  • Fetched. The request has been retrieved.

  • Preparing. The request is being prepared for processing.

  • Prepared. The request has been prepared for processing and is ready for execution.

  • Executing. The request is currently running. To terminate a request, select it and click Kill Request. The user receives an informational message that indicates that the Oracle BI Administrator canceled the request.

  • Executed. The request has finished running.

  • Succeeded. The request ran to completion successfully.

  • Canceled. The request has been canceled.

  • Failed. An error was encountered during the processing or running of the request.


To view session information:

  1. Select a server in the Explorer pane, and select View, then Sessions.

    Session information for the server is displayed in the Information pane. It shows all users logged into the server and all current query requests for each user.

To disconnect a session:

  1. In the Session view, right-click the session in the Session window (top window) and click Disconnect.

    When you disconnect a session, the ODBC session is terminated. Client users who were connected over this session receives errors if they attempt to run queries. Users must log out, then log back in again to start a new session.

To terminate a query request:

  1. In the Session view, right-click the request in the Request window (bottom window) and click Kill Request.

    When you terminate a query request, the user who is initiating the query receives an error.

6.4.1.4 Server Information

Selecting Server info from the View menu provides information about the cluster server, such as server version number.

6.5 Troubleshooting an Oracle Business Intelligence Clustered Environment

Use Fusion Middleware Control and the Administration Console to check the status of system processes. See Section 5.6.1, "Using Fusion Middleware Control to View System Component Availability" and Section 5.6.2, "Using the Administration Console to View Managed Server Availability" for more information.

After enabling clustering, load balancing, and failover capabilities, you can troubleshoot issues that might occur in the deployment using the following:

  • Messages and errors that are reported in Fusion Middleware Control

  • Log files for Oracle Business Intelligence components, also available through Fusion Middleware Control

Review the log files for every Oracle Business Intelligence system component in the cluster. Log files record any client-side failures that might occur due to an incorrect configuration. Although some failover events are not logged, the Cluster Controller log file records crashes of any Oracle BI Scheduler or Oracle BI Server component. You can also review the Event Viewer log on Windows and the syslog on Linux or UNIX.

See Chapter 8, "Diagnosing and Resolving Issues in Oracle Business Intelligence" for more information about log files.

6.5.1 Avoiding Errors with Network Appliance Devices When the Oracle BI Server Is Running on Linux or UNIX

The following information applies to deployments with Oracle BI Server components on Linux or UNIX platforms that access Oracle Business Intelligence shared files and directories on a NAS device from Network Appliance. For environments with Oracle BI Server components on Linux or UNIX that use the NTFS security style, the recommended Network Appliance Data ONTAP storage operating system version is 6.3.1 or later.

Linux or UNIX computers saving to an NTFS qtree in Data ONTAP versions 6.0.3 through 6.3 might see permission errors when trying to save designs. Use the following Data ONTAP setting to silently ignore attempts to set UNIX permissions on NTFS qtrees after the design file is saved:

options cifs.ntfs_ignore_unix_security_ops on