Infrastructure at your Service

Arnaud Berbier

HA with Oracle Fusion Middleware Forms & Reports 11g R2

In this post, I will explain how to install Oracle Fusion Middleware Forms and Reports 11g R2 for a high availability architecture on a Windows platform. For the Linux platform, it’s approximately the same, even though the node manager is a daemon.

In my first post, I‘ve described the advantages of the WebLogic cluster (part of Oracle Fusion Middleware high availability). Now, it’s time to take components such as forms and reports server and explain how to proceed for a basic installation in order to integrate these services into a 2 nodes WebLogic cluster.

The goal of this post is to demonstrate how to setup the environment described in the following schema:

OFMFR101

In our case, we have 2 different servers (VMTESTFUSION01 and VMTESTFUSION02) on which we will install Oracle Fusion Middleware Forms & Reports Server 11gR2 (11.1.2) in a high availability configuration. In the schema presented above, we see that the WLS_REPORTS and WLS_REPORTS1 as well as WLS_FORMS and WLS_FORMS1 are in a WebLogic Cluster. Such setup provides all the advantages described in my previous post available here.

We can also observe in this schema that there are some systems components such as Oracle Base Instance and some Java Based components that are supported by the Oracle WebLogic Server (application tier).

OFMFR102

In this post, I won’t discuss Oracle web server (OHS) and the load balancer component. But in a high availability architecture, OHS has to route the client requests to the WebLogic managed server as shown in the following schema:

OFMFR103

In my next blog, I will demonstrate how to configure the Oracle HTTP Server (OHS) to be “cluster aware”.

Installation of Oracle Fusion Middleware Forms and Reports 11gR2 (11.1.2)

The following information provide the key concept to proceed to the server installation.

Common installation tasks on both servers:

The following are the basic steps in order to install components on both servers:

1. Install the Java JDK needed by Oracle WebLogic Server

 2. Install WebLogic Server (10.3.5) which is compatible with Forms and Reports server  11gR2 (11.1.2)

Advice: During the installation of WebLogic Server, do not choose to install the node manager because the configuration stage of Forms and Reports component will fail. A script is provided by Oracle to install a service on a windows platform and must be done manually after the installation. You can also disable the windows service before the configuration of the component of Oracle Fusion Middleware.

OFMFR104

 3. Install the Oracle Fusion Middleware binaries into the FMW_HOME created by the WebLogic Server installer. Install only the software, because the configuration stage is not the same on both servers. This avoids to make a cluster of forms and reports server between vmtestfusion01 and vmtestfusion02.

At this stage, we have installed the system component on the two servers. Now, we need to configure it and install the Java Appliance on WebLogic Server. This step configures the connection between both servers in order to establish a communication channel. On the first server, the configuration is standard and on the second server, the configuration must extend the WebLogic domain created on the first server.

Configuration of Oracle Fusion Middleware Forms and Reports 11gR2

 1. Configuration on the first server (vmtestfusion01)

To configure the application tier on vmtestfusion01, start the oracle configuration script from the following folder

C:OracleMiddlewareOracle_FRHome1binconfig.bat

Configure it for creating a new domain and provide the information for your needs. Do not forget to include your server components in a weblogic cluster which will be expand by vmtestfusion02 node:

OFMFR105

On the previous screen, we see that Oracle HTTP server was installed on the same server as the Oracle Fusion Middleware component. Normally, the web server is not installed on the same server in order to ensure service high availability. In fact, if the Oracle Fusion Middleware vmtestfusion01 fails and become unavailable, the oracle HTTP server needs to redirect the client requests to the other oracle WebLogic cluster node. This principle will be explained in another post.

Despite that it is not mandatory to use the same ports for each service on each server, it is strongly recommended by Oracle, and also by dbi services. Oracle allows to bypass the Automatic Port Configuration by specifying ports in a configuration file.

This file should have entries for the following services:

OFMFR106

Once the ports are configured, complete the installation:

OFMFR107

 2. Configuration on the second server (vmtestfusion02)

Go to vmtestfusion02 server and call the Oracle Installer to configure the application on vmtestfusion02. The installer is in the following directories:

C:OracleMiddlewareOracle_FRHome1binconfig.bat

In order to be able to extend the cluster domain, it is mandatory to complete the information regarding the host, the port, and the user details.

OFMFR108

At the next stage, you have to choose the component that will be available on the vmtestfusion02.

You should choose the same components as on the vmtestfusion01 server

OFMFR109

Generic configuration on vmtestfusion01 and vmtestfusion02

The following steps are required regardless of the product being configured:

Set admin server listen address

In servers where multiple network cards exist, it is important to bind the Administration Server to the network card that you wish to use.

Create boot.properties file for auto-authentication

Create a boot.properties file for the Administration Server on vmtestfusion01 and vmtestfusion02. The boot.properties file enables the Administration Server to start without prompting you for the administrator username and password. You can do so for all managed server if you start it in the independent mode.

In a text editor, create a file called boot.properties in the directory:

DOMAIN_HOME/servers/AdminServer/security

With the following lines:

username=adminuser

 password=password

Restarting the Administration Server encrypts the values:

Encryption example:

OFMFR111

At this stage, the Oracle Fusion Middleware Forms and Reports component is configured to work in a high availability architecture.

Verify installation:

Reports server:

http://vmtestfusion01:9002/reports

http:// vmtestfusion02:9002/reports 

Forms server:

http:// vmtestfusion02:9001/forms

http:// vmtestfusion02:9001/forms 


In this post I explained the key steps for setting up an Oracle Fusion Middleware configuration in a high availability environment.

Of course such a basic configuration can be improved in order to extend the possibilities provided by such an architecture. For instance, it would be great to configure a report queue for all jobs shared by both servers to execute user requests. It is also possible to share directories for the common report cache.

21 Comments

  • Irshad Ahmed says:

    Hi Arnuad,
    Thanks for posting a nice document, it’s really good. I am eagliery waiting for your next post which for “how to setup the architecture to ensure service high availability, how to balance the load between servers, and how to switch between nodes (failover) in case of a disaster”
    Once again thanks for posting.

  • Arnaud says:

    Hi Ahmed,

    Thanks for your comment, this is very significant.

    I will work this week for you to write a post for the configuration and mechanism of the high availability for Oracle Fusion Middleware Forms and Reports Server 11gR2 : Cluster configuration in Weblogic. Configuration of the frontal Http server and the Weblogic Plugin (OHS – mod_wl_ohs). The necessity to have a load balancer to dispatch requests between the frontal Http servers.

    Thanks for your comment

  • Davide says:

    Hi Arnuad,
    i’m trying your configuration, but config.bat on node2 hang when try to start WLS_FORM1. No errors are generated in the log file.
    Any ideas?

  • Arnaud says:

    Hi Davide,

    Ok fine, I recommend to have the same directory structure and instance name on each node. It is better and more comfortable to automatize maintenance task.

    Best regards

    Arnaud

  • Jonathan says:

    Hi Arnaud
    Thanks for the post, very helpful.
    Are you still planning on writing the “diving deeper into clustering” post?
    Thanks
    Jonathan

  • RK says:

    Hi Arnaud,

    Thanks for your post

    As per my understanding is after installing weblogic, forms and reports on node 1 do we need to open the console and create the cluster with node 1 and node 2 information and then we need to install weblogic on node 2 along with forms and reports with expand cluster option on node.

    Thanks,
    RK

  • RK says:

    Hi Arnaud,
    Thanks for your reply.

    Iam not able to move forward on the node 2 from expand cluster screen.
    Below are steps what I performed.

    Node 1:

    1. Installed weblogic
    2. Installed oracle 11g forms and reports
    3. Configured the forms and reports with selecting include cluster option
    4. brought down the forms and reports
    5. started the Adminserver

    Node 2:
    1. Installed the weblogic
    2. Installed the oracle 11g forms and reports
    3. Trying to configure the forms and reports with config.sh script but not able move forward from the expand cluster screen.
    In the expand cluster screen I had given the
    Host name :
    port: 7001
    username: weblogic
    password: password of weblogic

    Could you please help me out.

    Thanks
    RK

  • RK says:

    Hi Arnaud,
    Iam getting below in log.

    [2014-11-15T18:23:26.854+05:30] [as] [NOTIFICATION] [] [oracle.as.install.engine.modules.validation.oracle.as.install.engine.modules.validation.handler.weblogicQueries.checkIfInstanceIsValidInDomain] [tid: 12] [ecid: 0000KanWgMf4ykWzLwiOOA1KPolg000003,0] errID ====>>>>:INST-07542
    [2014-11-15T18:23:26.854+05:30] [as] [WARNING] [] [oracle.as.install.engine.modules.validation.oracle.as.install.engine.modules.validation.handler.weblogicQueries.checkIfInstanceIsValidInDomain] [tid: 12] [ecid: 0000KanWgMf4ykWzLwiOOA1KPolg000003,0] Resource Loading Exception[[
    java.lang.Exception: Message key not found:INST-07542
    at oracle.as.installutils.messages.MessageUtil.getRawMessage(MessageUtil.java:617)
    at oracle.as.installutils.messages.MessageUtil.getMessage(MessageUtil.java:222)
    at oracle.as.install.common.handlers.weblogicQueries.CheckIfInstanceIsValidInDomain.setHandlerOutputError(CheckIfInstanceIsValidInDomain.java:498)
    at oracle.as.install.common.handlers.weblogicQueries.CheckIfInstanceIsValidInDomain.executeHandler(CheckIfInstanceIsValidInDomain.java:295)
    at oracle.as.install.engine.modules.handler.engine.HandlerLauncher$LaunchHelper.execute(HandlerLauncher.java:487)
    at oracle.as.install.engine.modules.handler.engine.HandlerLauncher$LaunchHelper.launch(HandlerLauncher.java:413)
    at oracle.as.install.engine.modules.handler.engine.HandlerLauncher.execute(HandlerLauncher.java:178)
    at oracle.as.install.engine.modules.handler.engine.HandlerEngine.execute(HandlerEngine.java:137)

    Thanks
    RK

  • Arnaud says:

    Hi,

    I quickly checked and it seems that your error message is related to the validation of the Oracle Home

    INST-07542: Error in validating Oracle Home location.
    Cause: The distribution {0} is not installed in the given Oracle Home.
    Action: Choose a different Oracle Home location.

    Where is the Oracle Home define for each servers ? How is your directory structure ?

    The issue is probably related to the directory which should be the same between the 2 nodes.

    Regards

    Arnaud

  • RK says:

    Thanks Arnaud,

    By changing the ORACLE_INSTANCE name other than name of node1 has worked.

    Regards,
    RK

  • Dario Alves Junior says:

    How to choose the reports instance?
    In cluster mode, do I need to manually submit reports for each instance? How to have the balance of relations between the instances?

    • Arnaud says:

      Hi Dario,

      Thanks for your comment.

      Cluster’s reports server is only supported with the in-process configuration. It’s not supported with standalone reports server. Could you please let me know how you configured your reports servers in order to identify your requirements so I can understand your setup ?

      For a customer, we used standalone reports servers with cos naming services. We use a frontend load balancer in order to balance requests to each report instance. In our case, the cos naming service is setup on each machine where report servers are configured

      Cheers
      Arnaud

  • AT says:

    Arnaud,

    How do you create Report Servers in this configuration? When running wlst command we cannot specify the server (node1 or node2), so the Report Server is always created on the server running the AdminServer
    createReportsServerInstance(instanceName=’repsvr1′, machine=’M1′)

    Thank
    AT

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Arnaud Berbier
Arnaud Berbier

Platform Solution Architect and Senior Consultant