26 BI Publisher High Availability

Starting with Enterprise Manager 13c Release 1 (13.1.0.0.0), BI Publisher is now automatically configured on all systems running Enterprise Manager. Refer to Configuring BI Publisher with Enterprise Manager for more information.

In addition, full support for BI Publisher high availability has been introduced in this release. The advantages of this are:

Any Enterprise Manager system can be running, at any given time, one of the following combinations:

  • OMS (including JVMD) and BI Publisher. This is the default configuration.

  • OMS (including JVMD) only

  • BI Publisher only

  • Neither OMS or BI Publisher

If Enterprise Manager is configured with multiple OMSs, behind a Server Load Balancer, the implications for this are significant. Refer to the chapter Configuring a Server Load Balancer for use with Enterprise Manager in the Enterprise Manager Advanced Installation and Configuration guide for more information.

Note:

Older versions of Enterprise Manager do not support BI Publisher high availability. However, Enterprise Manager 12c Release 4 (12.1.0.4) and Enterprise Manager 12c Release 5 (12.1.0.5) did support running multiple BI Publisher servers. However, these releases are lacking the reliability and scalability options outlined above.

This chapter covers the following:

Note:

BI Publisher software is automatically installed on all systems where Enterprise Manager 12.1.0.4 and greater was installed. This chapter covers steps to configure the BI Publisher Server to run on these systems.

Introduction to BI Publisher High Availability

BI Publisher configuration is automatic starting with Enterprise Manager 13c Release 1 (13.1.0.0.0). Refer to Configuring BI Publisher with Enterprise Manager for more information. BI Publisher high availability, when used with Enterprise Manager, is now supported.

When Enterprise Manager is first installed (either during a new installation, or during an upgrade from a prior release of Enterprise Manager), the "first" BI Publisher server, called "BIP", will have been configured. We will refer to this as the primary BI Publisher server.

BI Publisher stores all configuration data, and report definitions, in an Operating System file system-based repository. This volume is known as the Config Volume.

An additional shared file-system is used to store WebLogic related scheduling binaries. This volume is known as the Cluster Volume.

Note:

It is very important to institute a reasonable, periodic, backup strategy for the Config Volume. The frequency of these backups will depend on how BI Publisher is being utilized.

In order for support BI Publisher high availability to function, read/write permissions must be available to these file systems, from all the OMS systems. This is accomplished using standard Network file system technologies as shown in the following graphic:

network file system settings

Refer to Configuring BI Publisher with Enterprise Manager for more details on this screen.

BI Publisher High Availability requires that the BI Publisher shared storage file systems are also highly available. In addition, the Config Volume system needs to be periodically backed up (for example, daily or hourly) using standard Operating System commands, or a professional backup solution. It is also highly recommended that a high availability disk solution also be used, such as a RAID (Redundant Array of Inexpensive Drives) storage device for the Config Volume. At least RAID 1 (redundancy) should be used. Other RAID levels (such as RAID5, RAID0+1, RAID 10, etc) are also acceptable. Do not use RAID 0, as this is intended for speed, and not redundancy. Please note that RAID1, in and of itself, is not to be confused with a backup solution. RAID protects against disk drive failures and other file system corruption, but periodic backups are still required. If the files stored on the Config Volume are lost, all BI Publisher servers (both primary and secondary) will no longer be functional. In addition, all customized report definitions will also be lost.

Note:

It is very important to backup the Config Volume on a frequency appropriate for the level of BI Publisher Report development you are doing. If you are creating and/or editing reports on a regular basis, these backups must be made to insure no development effort is lost.

The shared storage volumes (Config Volume and Cluster Volume) must be mounted on all Enterprise Manager Systems. Standard Operating System commands can be used for this mount (for example, NFS). As Enterprise Manager is configured to automatically start during an operating system startup, certain Operating System configuration files must be edited to insure these shared storage volumes are mounted. For example, on Linux, the file /etc/fstab is used for this purpose.

Note:

The space requirements for configuring BI Publisher shared storage depends on the amount of space required for storing the report catalog and associated management information.

At install time, the BI Publisher repository uses approximately 400 MB of storage. Initially, 10 GB should be made available for the BI Publisher shared storage in order to provide sufficient space to meet anticipated Enterprise Manager reporting requirements. This space requirement increases over a period of time as you install additional Enterprise Manager plug-ins and create more reports. Hence, you should ensure that this storage can easily be extended in future.

When Enterprise Manager is installed, BI Publisher shared storage is automatically configured.

However, during Enterprise Manager installation, you can 'uncheck' the 'Configure Shared Storage for BI Publisher' section of the installer screen shown above. If this has been done, before additional Enterprise Manager systems are added, or upgraded from a prior release, the following command must be run:

emctl config oms -bip_shared_storage -config_volume <vol1> -cluster_volume <vol2>

To configure secondary BI Publisher server(s) on additional OMS systems, you can use the standard "Add an Oracle Management Service" provisioning job. An additional OMS system will automatically be configured with a secondary BI Publisher server.

Note:

The "Add an Oracle Management Service" provisioning job will not be available until BI Publisher is configured, either automatically as part of Enterprise Manager installation, or manually using the command above.

Determining BI Publisher Shared Storage Locations

The BI Publisher shared storage locations are stored as Enterprise Manager OMS properties. You can query for the shared storage locations using the following emctl commands:

emctl get property -name
oracle.sysman.core.eml.ip.bip.SharedStorageConfigVolume
 
emctl get property -name
oracle.sysman.core.eml.ip.bip.SharedStorageClusterVolume

Example:

-bash-3.2$ emctl get property -name
oracle.sysman.core.eml.ip.bip.SharedStorageConfigVolume
 
Oracle Enterprise Manager Cloud Control 13c Release 4
Copyright (c) 1996, 2019 Oracle Corporation.  All rights reserved.
SYSMAN password:
Value for property oracle.sysman.core.eml.ip.bip.SharedStorageConfigVolume at
Global level is /oracle/BIP/config

Manually Configuring BI Publisher to Use a Shared Storage Device

Note:

If you decide to use the Unix Network File System (NFS) for the BI Publisher shared storage volumes, do not use NFS volumes that are managed by the NFS automounter as it typically mounts the storage dynamically. This can cause issues with BI Publisher and/or WebLogic. Instead, use NFS mounts that use a fixed mount point. For example: /oracle/em/BIPCluster/ /oracle/em/BIPConfig. You need to mount this shared storage using the 'hard' NFS option to insure no file-level inconsistencies.

As broadly outlined above, in order to support multiple BI Publisher servers, BI Publisher shared storage must be configured. It is highly recommended to let the Enterprise Manager installer take care of this during installation.

However, it is supported to configure this shared storage at a later time. Use the following command in this situation:

emctl config oms -bip_shared_storage -config_volume <vol1> -cluster_volume <vol2>

Be sure to keep the storage location for these volumes (for example, vol1 and vol2 shown in the previous section) available. Do not delete these files.

This command will prompt for the WebLogic Administration Server password as well as the Repository User (SYSMAN) Password.

The command executes the following steps:

  1. The supplied credentials are validated.
  2. Certain pre-requisite tests are run. These include:
    • The two volumes must not be the same as the previously configured shared storage volumes (if any).

    • The two volumes must be distinct

    • The file system mount points for the two volumes must exist.

    • The two volumes must be completely empty.

    • The two volumes must be writable.

  3. The BI Publisher server on the local system (the primary BI Publisher server named "BIP") is stopped.
  4. The existing BI Publisher file system-based repository, which was installed when the primary BI Publisher was configured, is copied to the Configuration Volume (-config_volume).
  5. The primary BI Publisher server, named "BIP", is reconfigured to use WebLogic JMS Queues and WebLogic Persistence Stores (used by the BI Publisher scheduler) that are stored in the Cluster Volume (-cluster_volume).
  6. The BI Publisher scheduler is reconfigured to support multiple BI Publisher servers and to use the new locations discussed previously.
  7. The values for the two volumes are stored as OMS properties in the Enteprise Manager repository database.
  8. The primary BI Publisher is configured to point at the new Configuration Volume.
  9. BI Publisher is started.
  10. An overall status is displayed.

The following example shows output generated by running the emctl config oms -bip_shared_storage command:

$ emctl config oms -bip_shared_storage -config_volume /BIP_STORAGE/config -cluster_volume /BIP_STORAGE/cluster                                
Oracle Enterprise Manager Cloud Control 13c Release 4
Copyright (c) 1996, 2019 Oracle Corporation.  All rights reserved.
Enter Admin User's Password :
Enter Enterprise Manager Root (SYSMAN) Password :
Stopping BI Publisher Server...
BI Publisher Server Successfully Stopped
BI Publisher Server is Down
Copying The BI Publisher repository from the location '...
...gc_inst/user_projects/domains/GCDomain/config/bipublisher/repository' 
to the location '/BIP_STORAGE/config/bipublisher/repository'. 
This can take some time.  Do not interrupt this command while it is running.
Copied BI Publisher repository to the location '/BIP_STORAGE/config/bipublisher/repository'
Configuring BI Publisher server named 'BIP' for use in a High Availability environment. This operation can take some time. Do not interrupt this command while it is running.
Updating BI Publisher Scheduler configuration ...
Updating BI Publisher shared storage properties ...
The BI Publisher properties have been updated.
The BI Publisher storage for configuration data is in the location '/BIP_STORAGE/config'
The BI Publisher storage for cluster data is '/BIP_STORAGE/cluster'
BI Publisher has been configured to point to the BI Publisher repository in the location '/BIP_STORAGE/config'
Starting BI Publisher Server ...
BI Publisher Server Successfully Started
BI Publisher Server is Up
BI Publisher storage has been configured for the BI Publisher server named 'BIP' running at the URL: https://em.example.com:9702/xmlpserver
Overall result of operations: SUCCESS

Adding Secondary BI Publisher Server(s)

As discussed earlier, there are two methods to configure additional BI Publisher servers. The method used will depend on when the BI Publisher shared storage is configured.

Path A

Install Enterprise Manager

  1. The primary BI Publisher Server is automatically configured, and optionally disabled.

  2. BI Publisher shared storage is automatically configured.

  3. Add OMS using the Add OMS provisioning job

    A secondary BI Publisher server is automatically configured along with the additional OMS system.

Path B

Install Enterprise Manager

  1. The primary BI Publisher Server is automatically configured, and optionally disabled. However, automatic configuration of BI Publisher shared storage is disabled.
  2. Configure BI Publisher shared storage using emctl config oms -bip_shared_storage
  3. Add OMS using the Add OMS provisioning job

    A secondary BI Publisher server is automatically configured along with the additional OMS system.

As these two paths illustrate, you can see the necessary prerequisite to adding secondary OMS system with BI Publisher.

Automatic Configuration of Secondary BI Publisher Server using the Add OMS Provisioning Job

If you are planning on building an Enterprise Manager High Availability installation, all additional OMS systems that are added will automatically get secondary BI Publisher servers.

Adding an Additional OMS System and Automatically Configuring a Secondary BI Publisher Server

Once the BI Publisher shared storage is configured, either automatically or manually, the "add OMS Provisioning job" will also configure the additional BI Publisher server. All that will be required is to enter the HTTP and HTTPS ports to use, on the additional OMS system. The "add OMS provisioning job" performs pre-requisite steps to insure that the BI Publisher shared storage has been configured. It also insures that this shared storage is correctly mounted and available, both from the first OMS system, and from the system in which an additional OMS (and BI Publisher) are being configured.

Confirming Correct Operation of an Additional OMS System

The emctl status oms command can be used to confirm successful configuration of an additional OMS.

$ emctl status oms
Oracle Enterprise Manager Cloud Control 13c Release 4  
Copyright (c) 1996, 2019 Oracle Corporation.  All rights reserved.
WebTier is Up
Oracle Management Server is Up
JVMD Engine is Up

Confirming Details of the Secondary BI Publisher Server

To obtain information about secondary BI Publisher servers, run the following command

emctl status oms -details

Notice that secondary BI Publisher servers have the server name "BIPx", where "x" matches the server number of the OMS (for example, EMGC_OMS2 : BIP2, EMGC_OMS3 : BIP3). The primary BI Publisher Server, where EMGC_OMS1 is running, is always named 'BIP' (no numerical suffix).

$ emctl status oms -details
Oracle Enterprise Manager Cloud Control 13c Release 4  
Copyright (c) 1996, 2019 Oracle Corporation.  All rights reserved.
Enter Enterprise Manager Root (SYSMAN) Password : 
Console Server Host        : emoms2.example.com
HTTP Console Port          : 7788
HTTPS Console Port         : 7799
HTTP Upload Port           : 4889
HTTPS Upload Port          : 4900
EM Instance Home           : /oracle/gc_inst/em/EMGC_OMS2
OMS Log Directory Location : /oracle/gc_inst/em/EMGC_OMS2/sysman/log
SLB or virtual hostname: slb.example.com
HTTPS SLB Upload Port : 4900
HTTPS SLB Console Port : 443
Agent Upload is unlocked.
OMS Console is unlocked.
Active CA ID: 1
Console URL: https://slb.example.com:443/em
Upload URL: https://slb.example.com:4900/empbs/upload
 
WLS Domain Information
Domain Name            : GCDomain
Admin Server Host      : emoms1.example.com
Admin Server HTTPS Port: 7101
 
Oracle Management Server Information
Managed Server Instance Name: EMGC_OMS2
Oracle Management Server Instance Host: emoms2.example.com
WebTier is Up
Oracle Management Server is Up
JVMD Engine is Up
 
BI Publisher Server Information
BI Publisher Managed Server Name: BIP2
BI Publisher Server is Up
 
BI Publisher HTTP Managed Server Port   : 9701
BI Publisher HTTPS Managed Server Port  : 9803
BI Publisher HTTP OHS Port              : 9788
BI Publisher HTTPS OHS Port             : 9851
BI Publisher HTTPS SLB Port             : 5443
BI Publisher HTTP SLB Port              : 8080
BI Publisher is unlocked.
BI Publisher Server named 'BIP2' running at URL: https://slb.example.com:5443/xmlpserver
BI Publisher Server Logs: /oracle/gc_inst/user_projects/domains/GCDomain/servers/BIP2/logs/
BI Publisher Log        : /oracle/gc_inst/user_projects/domains/GCDomain/servers/BIP2/logs/bipublisher/bipublisher.log