Skip Headers

Oracle® Fail Safe Concepts and Administration Guide
Release 3.3.1 for Windows
Part No. A96684-01
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next

9
Configuring Oracle Forms Servers for High Availability

Oracle Fail Safe provides high availability for Web-based Oracle Forms applications. (To make your Oracle Forms applications available on the Web, you must create and add an Oracle HTTP Server to the group containing the Oracle Forms Server.)

Oracle Fail Safe also provides high availability for Oracle Forms applications by providing a wizard to configure an Oracle Forms Load Balancer Server for high availability. If your solution uses more than one Oracle Forms Server, it is usually more effective to configure an Oracle Forms Load Balancer Server for high availability than to configure multiple Oracle Forms Servers for high availability. See Chapter 8 for information on configuring an Oracle Forms Load Balancer Server for high availability.

The following topics are discussed in this chapter:

Topic Reference
Introduction   Section 9.1  
Discovering Standalone Oracle Forms Servers   Section 9.2  
Adding Oracle Forms Servers to a Group   Section 9.3  
Security Requirements for Oracle Forms Servers   Section 9.4  
Client Connection to Oracle Forms Servers   Section 9.5  
Troubleshooting Problems with Oracle Forms Servers   Section 9.6  

9.1 Introduction

Oracle Fail Safe helps you to configure new and existing Oracle Forms Servers for Web-based implementations. Oracle Fail Safe can provide high availability for your entire Internet solution, including the Oracle HTTP Servers that deliver content, the Oracle Forms Servers that provide the application logic, and the Oracle database that stores and provides the data.

Web-based implementations allow you to configure availability at all levels of your Internet application because both the application and database components can be installed on cluster nodes. A multitiered implementation is a common way to configure an Oracle Forms application for the Internet, with a single back-end database driving a number of Oracle Forms Servers running on multiple systems.

Figure 9-1 shows a multitiered implementation in which the Oracle Forms Servers and the Oracle HTTP Servers reside on a separate cluster from the database.

The three tiers in Figure 9-1 include:

Multitiered implementations allow for incremental deployment of high availability into your Internet business solution. For example, with Oracle Fail Safe, you can eliminate potential points of failure for the components in either the application or database, or both tiers can be configured on clusters for high availability with Oracle Fail Safe.

Figure 9-1 Three-Tiered Architecture for Oracle Forms

Description of forms_architecture.gif follows
Description of the illustration forms_architecture.gif

9.2 Discovering Standalone Oracle Forms Servers

You configure Oracle Forms Servers for high availability using Oracle Fail Safe Manager. Before you can view standalone Oracle Forms Servers in the Oracle Fail Safe Manager interface, they must first be discovered. Oracle Services for MSCS discovers Oracle Forms Servers by reviewing the list in the Windows service manager, finding Oracle Forms Server entries, and determining which have not already been configured for high availability. Oracle Fail Safe displays the newly discovered services in the Oracle Fail Safe Manager tree view under the Standalone Resources folder.

9.3 Adding Oracle Forms Servers to a Group

To configure an Oracle Forms Server for high availability, you add it to a group that currently contains at least one virtual address. Oracle Fail Safe adds all other resources upon which the Oracle Forms Server depends. Typically, the group includes the following resources:

You do not need to make changes to existing Oracle Forms applications for them to work with Oracle Forms Servers that have been configured for high availability.

For users to access the forms served by the Oracle Forms Server, you must add an Oracle HTTP Server to the group containing the Oracle Forms Server. The Oracle HTTP Server has a dependency on a virtual address; the virtual address of the Oracle HTTP Server becomes part of the URL that users enter to access the forms application on the Web.

Users specify the URL using a virtual address so that the Web-based form can be accessed at the same URL both before and after a failover, regardless of which cluster node is hosting the Oracle Forms Server. After a failure occurs and the group containing the Oracle Forms Server and Oracle HTTP Server fails over to another node, users can reconnect to the form by reloading the URL in the Web browser.


Note:

Although the Oracle Forms Server itself is recovered after a failover, any form input that did not get committed to the database prior to the failover is lost. Uncommitted form input that is lost during a failover must be reentered by the user or application.

9.3.1 Before You Get Started

Before you add an Oracle Forms Server to a group, note the following:

  • The Oracle Forms executable files must be installed in an Oracle home on a private disk on each cluster node that is a possible owner for the Oracle Forms Server.

  • All other necessary Oracle product executable files must be installed in the Oracle home or homes on each cluster node that is a possible owner for the Oracle Forms Server.

  • All Oracle Forms Server data files must be located on cluster disks so that they can be accessed after a failover by any cluster node that is a possible owner for the Oracle Forms Server.

  • The group must contain at least one virtual address.

When you make the Oracle Forms Server highly available, it appears to the user that the entire application is highly available. You can further improve availability by configuring the Oracle database servers that the form accesses to be highly available either on the same cluster or on a different cluster from that which hosts the Oracle Forms Server.

9.3.2 Configuration Steps

Oracle Fail Safe automates the steps required to make an Oracle Forms Server highly available. Oracle Fail Safe can add an existing Oracle Forms Server to a group, or it can create a new Oracle Forms Server and then add it to a group.

Table 9-1 provides a quick reference to the tasks needed to configure an Oracle Forms Server for high availability. For step-by-step instructions about a task, refer to the Oracle Fail Safe Tutorial and online help. From the Oracle Fail Safe Manager menu bar, choose Help, then "Search for Help on" or Help, then Tutorial.

Table 9-1 Steps for Configuring an Oracle Forms Server

Step Procedure Comments
1 Ensure that the Oracle Forms software is installed on a private disk on each node in the cluster that you intend to be a possible owner for the Oracle Forms Server. See the Oracle Forms documentation for installation information.
2 Copy the Oracle Forms application files to the cluster disks. Files and executables (such as the .html, .fmx, .pll, or .mmx files) must be located on the cluster disks on the shared storage interconnect.
3 Test the Oracle Forms application on a standalone node. Before adding an Oracle Forms Server to a group, test the Oracle Forms application on a single node in standalone mode. For example, you might test it using the Forms Runtime component and the integrated source-level debugger.
4 Invoke Oracle Fail Safe Manager. From the Windows Start menu, choose Oracle - <Oracle_Home>, then Oracle Fail Safe Manager.
5 Verify the cluster. Choose Troubleshooting, then Verify Cluster to run a procedure that validates the cluster hardware and software configurations.
6 Create a group and add one or more virtual addresses. Choose Groups, then Create to run the Create Group Wizard. The wizard helps you to set up failover and failback policies and automatically opens the Add Resource to Group Wizard to allow you to add a virtual address to the group. (Choose Resources, then Add to Group to add additional virtual addresses to the group.)
7 Add the Oracle Forms Server to the group. Choose Resources, then Add to Group in Oracle Fail Safe Manager to run the Add Resource to Group Wizard. The wizard helps you select the Oracle Forms Server,Foot  specify the possible owner nodes, specify the port number, indicate the location of the forms files, and select the database used by the Forms application.
8 Verify the group. Choose Troubleshooting, then Verify Group to check for and fix any problems with the group, resources, or the failover configuration.
9 Configure the Oracle HTTP Server for failover. Create and add an Oracle HTTP Server to a group to make your Oracle Forms application available on the Web. See Chapter 11 for information about creating and adding an Oracle HTTP Server to a group.
Footnote If you add an existing Oracle Forms Server to the group, you can select its name (from the Forms Server Name box) in the Add Resource to Group Wizard. If you are creating and adding a new Oracle Forms Server, the name you specify must be unique across the cluster.

9.3.3 Configuration Data for Oracle Forms Servers

In preparation for configuring an Oracle Forms Server for high availability, gather the following information:

  • Possible owner nodes for the Oracle Forms Server, if the cluster consists of more than two nodes, or if one node is not available in a two-node cluster

  • Virtual address to be associated with the Oracle Forms Server, if the group contains more than one virtual address

  • Forms Server identity

  • Path to the Oracle Forms application files

  • Oracle database or databases that the Oracle Forms application will access

The following sections describe the configuration information requirements in detail.

9.3.3.1 Choose Nodes

If you are adding an Oracle Forms Server to a group and the cluster consists of more than two nodes, you are asked to specify which nodes should be possible owners for the Oracle Forms Server by specifying a list of selected nodes, as shown in Figure 9-2. To specify that a particular node should not be a possible owner for the database, select the node from the Selected Nodes list and click the left arrow.

Section 2.6.6 describes in detail the concept of the possible owner nodes list.

Figure 9-2 Choose Nodes Wizard Page When All Nodes Are Available

Description of pn_forms_wiz.gif follows
Description of the illustration pn_forms_wiz.gif

If you are adding an Oracle Forms Server to a group and the cluster consists of two or more nodes, but one or more nodes are unavailable, you are also asked to specify which nodes should be possible owners for the Oracle Forms Server. In this case, the wizard page displays which nodes are unavailable and why, as shown in Figure 9-3.

Figure 9-3 Choose Nodes Wizard Page When Any Node Is Unavailable

Description of pn_forms_wiz_unavail.gif follows
Description of the illustration pn_forms_wiz_unavail.gif

9.3.3.2 Forms Server Virtual Address

A group must contain at least one virtual address before you add an Oracle Forms Server to it. If the group to which you are adding an Oracle Forms Server contains more than one virtual address, you are asked to select which one you would like to associate with the Oracle Forms Server, as shown in Figure 9-4.

The virtual address is stored in the following Windows registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
OracleFormsServer-<ServiceName>\Host

Figure 9-4 Oracle Forms Virtual Address Wizard Page

Description of forms_virt_add.gif follows
Description of the illustration forms_virt_add.gif

9.3.3.3 Forms Server Identity

The Oracle Forms Server identity consists of the Oracle Forms Server name and the port on which you want the Oracle Forms Server listener process to run, as shown in Figure 9-5. The Forms Server name and the port number must be unique across the cluster. The port number you specify should be the same port number you specify for the application's HTML file or URL.

Because the Forms Server listens on all IP addresses on the system on which it is currently running, the port number you specify must not be in use by any other application.

The port number is stored in the following Windows registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
OracleFormsServer-<ServiceName>\Port

Figure 9-5 Oracle Forms Identity Wizard Page

Description of forms_id.gif follows
Description of the illustration forms_id.gif

9.3.3.4 Forms Parameters

On this wizard page you specify the connection mode in which you want the Oracle Forms listener process to run and the number of worker processes the Oracle Forms Server should create and maintain in a pool, as shown in Figure 9-6.

The connection mode can be any one of the following settings:

  • Socket

    This is a standard programming interface to TCP/IP. This method is efficient and easy to use. The Forms Server runs on a networked host server, and it listens on a specified socket or port for connections from the client running on a user system. For this method to work, the client and server systems must be able to communicate with one another directly on the network. It is not possible to use a server-side proxy in this mode. If the server and client systems are separated by an unsecured network, such as the Internet, the socket mode has potentially severe security implications. The socket mode will not work in the presence of a fire wall.

  • HTTP

    Using this connection mode, communication is accomplished through an HTTP socket connection. The Oracle Forms Server listens for HTTP connections from a client, rather than for a proprietary connection using sockets. All internal messaging between the Oracle Forms Server and the client is encapsulated in HTTP packets. Sites that allow only HTTP traffic can deploy Oracle Forms applications through their existing fire walls with little or no change to the configuration.

  • HTTPS

    Using this connection mode, communication is accomplished through an HTTP socket connection along with SSL (secure sockets layer). An Oracle Forms Server can use SSL as a transport protocol to provide privacy, integrity, and server authentication. SSL works at the transport level, which is one level below the application level. This means that SSL can encrypt and decrypt messages before they are handled by application-level protocols, such as Telnet, FTP, and HTTP.

    Depending on the client and server encryption level, you may need to change the environment variable FORMS60_HTTP_NEGOTIATE_DOWN. See the Oracle Forms documentation for details.

    In addition, if you decide to use HTTPS mode, you must install Oracle Wallet Manager to create certificate requests and manage certificates. See the Oracle Forms documentation for details.

The pool parameter specifies the number of worker processes (ifweb60.exe) that the Oracle Forms Server should create and maintain. Worker processes are assigned to users on a one-to-one basis. If you specify a pool value of 4, then four users can start work without delay; each subsequent user will experience a delay as a worker process is started. Maintaining a pool of worker processes based on the expected number of users helps to minimize application startup delays.

The connection mode and pool parameters are stored in the following Windows registry keys, respectively:

  • HKEY_LOCAL_MACHINE\
    SYSTEM\CurrentControlSet\Services\OracleFormsServer-<ServiceName>\
    Mode

  • HKEY_LOCAL_MACHINE\
    SYSTEM\CurrentControlSet\Services\OracleFormsServer-<ServiceName>\
    Pool

Figure 9-6 Oracle Forms Parameters Wizard Page

Description of forms_params.gif follows
Description of the illustration forms_params.gif

9.3.3.5 Path to Oracle Forms Application Files

On this wizard page you specify the disk and directories where the Oracle Forms application files (.html, .fmx, .mmx, and .pll) are located, as shown in Figure 9-7. These specifications are added to the FORMS60_PATH Windows registry variable. The disk that you specify must be a shared cluster disk.

When the wizard completes, the disk you specify will be added to the same group to which you add the Oracle Forms Server. Because you specify a shared cluster disk, the Oracle Forms Server files will be available to the cluster node that takes over the Oracle Forms Server in a failover.

The order in which directories appear in this wizard page is important. When searching for a particular file, the Oracle Forms Server will use the first occurrence it finds of that file. This might lead to unwanted results, for example, if the named file exists in the first two directories, but the particular file you want to use is in the second directory.

Figure 9-7 Oracle Forms Path Wizard Page

Description of forms_path.gif follows
Description of the illustration forms_path.gif

9.3.3.6 Oracle Databases Accessed by the Oracle Forms Application

On this page you specify the Oracle database or databases that the Oracle Forms application will access, as shown in Figure 9-8.

The Oracle Forms Server needs to know which database or databases to use for displaying and updating data through the forms it serves. Oracle Fail Safe updates the tnsnames.ora file with the database information on all cluster nodes that are possible owners for the Oracle Forms Server. This ensures that connection information is available to the Oracle Forms Server, regardless of the node on which the Oracle Forms Server is running.

Adding a database or databases to the Selected box does not cause Oracle Fail Safe to add the database or databases to the group to which you are adding the Oracle Forms Server. To ensure high availability, add the database or databases accessed by a fail-safe Oracle Forms Server to a group. You need not add it to the same group as the Oracle Forms Server.

Figure 9-8 Oracle Forms Server Database Wizard Page

Description of forms_database.gif follows
Description of the illustration forms_database.gif

Figure 9-9 shows the tree view in Oracle Fail Safe Manager for an Oracle Forms Server that has been configured for high availability. The Oracle HTTP Server (Forms_Site) is also shown in the tree view; it was added to the Forms_Group so that the form can be viewed on the Web.

Figure 9-9 Tree View Showing Web-Based Forms

Description of ofsman_formstreeview.gif follows
Description of the illustration ofsman_formstreeview.gif

9.4 Security Requirements for Oracle Forms Servers

An Oracle Forms Server does not require any special privileges to run in a cluster environment. See Section 4.3 for information about appropriate privileges to manage Oracle resources and applications and to perform operations through Oracle Fail Safe Manager.

9.5 Client Connection to Oracle Forms Servers

Users do not connect directly to an Oracle Forms Server configured for high availability. Users must access an Oracle Forms application configured for high availability using a Web browser.

Therefore, to provide a complete high-availability solution to users, you also need to make a Web listener highly available. You configure the Web listener to listen on a virtual address. Users specify the virtual address of the Web listener and the HTML file in a Web browser to access the form. For example, depending on how you have set up the Oracle HTTP Server, a user might enter the following URL:

http://ntclu4-5/forms.html:801

In this URL, ntclu4-5 is the virtual address of the Web listener, forms.html is the HTML file for the Oracle Forms application, and 801 is the port number that the Web listener is listening on.

For more information, see:

9.6 Troubleshooting Problems with Oracle Forms Servers

The following sections describe how to troubleshoot specific problems you may encounter with Oracle Forms Servers configured for high availability. For general information about troubleshooting Oracle Forms Servers, see the Oracle Forms documentation.

In most cases, the first step in troubleshooting a problem is to issue the Verify Cluster or Verify Group command. These tools are described in Chapter 6.

When you issue a Verify Group command on a group containing an Oracle Forms Server, Oracle Fail Safe compares the information in the cluster registry to what is actually written in the configuration files. If the information does not match, Oracle Fail Safe will ask you if you want it to fix the problem.

You can run the Verify Group operation at any time. However, you should run it when any of the following occurs:

9.6.1 Users Cannot Access the Oracle Forms Server

If users are unable to access Oracle Forms Server, perform the following actions to find the problem:

  • Run the Verify Group operation to validate the Oracle Forms Server resource configuration. See the Verify Group operation discussion in Section 6.1.2.

  • Make sure the Forms Server resource is online.

    In Oracle Fail Safe Manager, click the Oracle Forms Server resource in the tree view, click the General tab, and examine the value of the State field in the properties box. If the state is offline, on the menu bar choose Resources, then Place Online.

  • Check to see if the port specified for the Oracle Forms Server resource is the same port number specified in the HTML file for your Oracle Forms application.

    In Oracle Fail Safe Manager, click the Oracle Forms Server resource in the tree view and click the Parameters tab to verify the port number.

9.6.2 Web Browser Cannot Download the Java Applet

If you receive errors when the Web browser tries to download the Java applet, check the virtual directory setting in the Oracle HTTP Server and compare it with the virtual directory that is specified in the HTML file for your Oracle Forms application. For example, if the virtual directory is specified as WEB_CODE = <Oracle_Home>\forms60\java, the HTML file for the Oracle Forms application should include the following lines:

java_CODEBASE="/WEB_CODE/"

java_ARCHIVE="/WEB_CODE/F60all.jar"

9.6.3 Java Applet Does Not Run

If the Java applet is not running and you receive a class exception error, perform the following actions:

  • Make sure that you are using a compatible version of the JInitiator software. (See the Oracle Forms documentation for information on software compatibility between Oracle Forms and JInitiator.)

  • Check the JInitiator tags in the HTML file for the Oracle Forms application. In particular, check the version of JInitiator referenced. For example:

<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.1.7.15.1">

.

.

.

<EMBED type="application/s-jinit-applet;version=1.1.7.15.1">

9.6.4 Web Browser Is Unable to Reload the Java Applet After a Failover

If you cannot reload the Java applet from the server after a failover occurs:

  • Check that you are using a compatible release of the JInitiator software in the Web browser. (See the Oracle Forms documentation for information on software compatibility between Oracle Forms and JInitiator.)

  • Check the JInitiator tags in the HTML file for the Oracle Forms application. The tags that turn off the applet cache should be set as follows:

    <PARAM NAME="jinit_appletcache" VALUE="off">
    
    .
    
    .
    
    .
    
    jinit_APPLETCACHE="off"
    

9.6.5 Application Cannot Find the Forms Application

If you receive an error message that the Oracle Forms application cannot be found, try the following actions:

  • Check the following module syntax in the HTML file:

    PARAM NAME="serverArgs" VALUE="module=welcome.fmx userid=...">
    
    .
    
    .
    
    . 
    
    serverArgs"="module=welcome.fmx userid=..."
    
    
  • Make sure that the referenced file exists in the specified location or that the FORMS60_PATH registry variable includes the location of the .fmx file.

9.6.6 Oracle Forms Application Does Not Run Properly

If an Oracle Forms application does not run properly in your Web browser, try the following actions:

  • Run the form locally in Forms Runtime.

  • To check the availability of the database that the form is accessing, connect to and query the database.

Resolve any problems discovered when you attempt to run the form locally in Forms Runtime and then try using the Web browser again.

9.6.7 Web Browser Cannot Access Additional Pages of a Multiform Application

Check to make sure that the location of your Forms .fmx files is in the FORMS60_PATH registry variable:

//HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/FORMS60_PATH


Previous Next
Oracle Logo
Copyright © 1996, 2002 Oracle Corporation

All rights reserved
Go To Table Of Contents
Contents
Go To Index
Index