Oracle® Fail Safe Concepts and Administration Guide
Release 3.3.1 for Windows
Part No. A96684-01
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:
|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|
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:
Client tier: Web browsers and user-interface applications
Application tier: Oracle Forms Servers and Oracle HTTP Servers
Database tier: Oracle database servers and listeners
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
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.
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:
The Oracle Forms Server
One or more cluster disks where the Oracle Forms Server files (.html, .fmx, .mmx, and .pll) are located
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.
Before you add an Oracle Forms Server to a group, note the following:
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.
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.
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
|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 1 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.|
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.
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
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
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.
Figure 9-4 Oracle Forms Virtual Address Wizard Page
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.
Figure 9-5 Oracle Forms Identity Wizard Page
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.
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.
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.
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.
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.
Figure 9-6 Oracle Forms Parameters Wizard Page
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
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
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
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.
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:
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:
Chapter 11 for information on configuring a Web listener for high availability.
The Oracle Fail Safe Tutorial for an example of configuring an Oracle Forms Server and an Oracle HTTP Server to provide a highly available form. To access the Oracle Fail Safe Tutorial, choose Help, then Tutorial on the Oracle Fail Safe Manager menu bar.
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:
A group or resource in a group does not come online.
Failover or failback does not perform as you expect.
A new node is added to the cluster.
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.
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.
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:
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=22.214.171.124.1"> . . . <EMBED type="application/s-jinit-applet;version=126.96.36.199.1">
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.)
<PARAM NAME="jinit_appletcache" VALUE="off"> . . . jinit_APPLETCACHE="off"
PARAM NAME="serverArgs" VALUE="module=welcome.fmx userid=..."> . . . serverArgs"="module=welcome.fmx userid=..."
If an Oracle Forms application does not run properly in your Web browser, try the following actions:
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.