Oracle® Fail Safe Concepts and Administration Guide
Release 3.3.1 for Windows
Part No. A96684-01
Oracle Fail Safe helps you configure Oracle HTTP Servers (powered by Apache) for high availability. The Oracle HTTP Server is a component of Oracle9i Application Server (Oracle9iAS).
If a cluster node is shut down or fails, the group that contains the Oracle HTTP Server fails over to another cluster node automatically; clients usually can regain access to the Web site served by the server in a matter of seconds. Web clients reconnect to the Web site by clicking the Reload or Refresh button in their browser, or by reentering the URL (which points to the virtual address) of the Oracle HTTP Server.
The following topics are discussed in this chapter:
|Discovering Standalone Oracle HTTP Servers||Section 11.2|
|Adding Oracle HTTP Servers to a Group||Section 11.3|
|Client Connection to Oracle HTTP Servers||Section 11.4|
|Removing an Oracle HTTP Server from a Group||Section 11.5|
|Security Requirements for Oracle HTTP Servers||Section 11.6|
|Troubleshooting Problems with Oracle HTTP Servers||Section 11.7|
Figure 11-1 shows a two-node cluster in which an Oracle HTTP Server and Web applications have been configured for high availability on the application tier, a single-instance Oracle database has been configured on the database tier, and Web browsers are installed on the client tier to create a three-tiered architecture.
Figure 11-1 Three-Tiered Architecture for Highly Available Web Configurations
If you have an architecture with many redundant components that are accessed using a load-balancing Web server, you can make the entire configuration highly available. To do this, configure just the Web server for failover with Oracle Fail Safe and rely on the Web server to detect failures and redistribute incoming requests to the surviving components. Availability can be improved further by adding one or more application servers and database servers. This ensures that the necessary resources will be available to process the incoming client requests for the Web server.
Oracle Fail Safe provides high availability for the Oracle HTTP Server and Web applications, including the following:
Oracle Applications concurrent managers
Other Oracle Applications components and any applications that can be configured as generic services
Note:Oracle Corporation recommends that you use JInitiator to solve the problem of running a Web application on different browsers running different versions of Java implementations. JInitiator ensures a consistent Java virtual machine between different releases of browsers. For more information on JInitiator, see the JInitiator documentation.
You configure Oracle HTTP Servers for high availability using Oracle Fail Safe Manager. Before you can view standalone Oracle HTTP Servers in Oracle Fail Safe Manager, they must first be discovered.
Oracle Services for MSCS discovers Oracle HTTP Servers by reviewing the list in the Windows service manager, finding the image names associated with each entry, and determining which have not already been configured for high availability.
Oracle Fail Safe displays the newly discovered Oracle HTTP Servers in the Oracle Fail Safe Manager tree view under the Standalone Resources folder.
To configure an Oracle HTTP Server for high availability, you add it to a group that already contains at least one virtual address. Oracle Fail Safe Manager provides a wizard that allows you either to add an existing Oracle HTTP Server to a group or to create and add a new Oracle HTTP Server to a group. Oracle Fail Safe adds all other resources upon which the Oracle HTTP Server depends. Typically, the group includes the following resources:
A virtual address (an IP address and network name)
The Oracle HTTP Server name
All disks used by the Oracle HTTP Server
Before you add an Oracle HTTP Server to a group, note the following:
The Oracle HTTP Server executable files must be installed on a private disk, in the same Oracle home (with the same path), on each cluster node that will be a possible owner node for the Oracle HTTP Server.
All other necessary Oracle product executable files must be installed in an Oracle home or homes on a private disk on each cluster node.
Be sure to consult product documentation on which products can and cannot be installed in the same Oracle home.
Oracle Fail Safe Manager automates the steps required to create and configure an Oracle HTTP Server for high availability. In the Add Resource to Group Wizard in Oracle Fail Safe Manager, you specify Oracle HTTP Server as the resource type.
Table 11-1 provides a quick reference of the tasks needed to configure an Oracle HTTP Server for high availability. For step-by-step instructions about any particular task, refer to the Oracle Fail Safe online help and tutorial. From the Oracle Fail Safe Manager menu bar, choose Help, then "Search for Help on" or Help, then Tutorial.
Table 11-1 Steps for Configuring an Oracle HTTP Server
|1||Ensure that the Oracle HTTP Server software is installed on a private system disk on each cluster node that will be a possible owner node.||See the Oracle HTTP Server documentation for installation information.|
|2||Copy the Web page files, Web application files, and Java files to a cluster disk.||Web application data files and executable files (for example, HTML, CGI, ASP, Visual Basic, Java, .jar) should be located on the cluster disks on the shared storage interconnect.Foot 1|
|3||Invoke Oracle Fail Safe Manager.||From the Windows Start menu, choose Oracle - <Oracle_Home>, then Oracle Fail Safe Manager|
|4||Verify the cluster.||Choose Troubleshooting, then Verify Cluster to run a procedure that validates the cluster hardware and software configurations.|
|5||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.)|
|6||Add the Oracle HTTP 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 configure the Oracle HTTP Server for high availability. You can create a new Oracle HTTP Server or use an existing one.|
|7||Verify the group.||Choose Troubleshooting, then Verify Group to check for and fix any problems with the group, virtual addresses, resources, or the failover configuration.|
|8||Configure other application components for failover.||Configure other application and database servers with Oracle Fail Safe to make your entire Web-based application highly available.|
Oracle Fail Safe Manager provides the Add Resource to Group Wizard to help you configure an Oracle HTTP Server for high availability. When you use the Add Resource to Group Wizard, you need the following data:
Possible owner nodes for the Oracle HTTP Server, if the cluster consists of more than two nodes, or if one node is not available in a two-node cluster.
The identity (name, version and Oracle home, and the cluster disk to which Oracle Fail Safe will copy the configuration file) of the Oracle HTTP Server.
The directory index files and virtual directories for the Oracle HTTP Server.
At least one virtual address and port for Web browsers to use for HTTP access to the Oracle HTTP Server. Optionally, you need one or more virtual addresses and ports for Web browsers to use for SSL (secure) access to the Oracle HTTP Server.
The following sections describe these requirements in detail.
If you are adding an Oracle HTTP 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 HTTP Server by specifying a list of selected nodes, as shown in Figure 11-2. To specify that a particular node should not be a possible owner for the Oracle HTTP Server, 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 11-2 Choose Nodes Wizard Page When All Nodes Are Available
If you are adding an Oracle HTTP 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 HTTP Server. In this case, the wizard page displays which nodes are unavailable and why, as shown in Figure 11-3.
Figure 11-3 Choose Nodes Wizard Page When Any Node Is Unavailable
The Add Resource to Group Wizard requests information to create and uniquely identify the Oracle HTTP Server that is being configured for high availability, as shown in Figure 11-4. Oracle Fail Safe uses this data to configure the Oracle HTTP Server into the cluster. It also passes the data that you supply to MSCS, where it is registered for use when the Oracle HTTP Server is brought online, taken offline, or when Is Alive polling is performed. Oracle Fail Safe requests the following information:
A name that uniquely identifies the Oracle HTTP Server.
Version and Oracle home of the Oracle HTTP Server
The version number and name of the Oracle home where the Oracle HTTP Server was installed. Note that the Oracle home name and the path of the Oracle home must be identical on each cluster node that is a possible owner for the Oracle HTTP Server.
The cluster disk to which you want Oracle Fail Safe to copy the configuration file.
Note:If you are using Oracle Fail Safe Manager with Oracle Fail Safe Server 3.1.2 or earlier, the cluster disk and Oracle HTTP Server name are also be used to create the document root directory. If you specify Oracle_HTTP_Test as the Oracle HTTP Server name and select W:\ as the cluster disk, for example, then Oracle Fail Safe will copy the configuration file to W:\Apache\conf\httpd_oracle_http_test.conf and the document root directory will be W:\Apache\htdocs.
If you are using Oracle Fail Safe Manager with Oracle Services for MSCS release 3.2.1 or later, then the next wizard page allows you to explicitly specify a document root directory.
Figure 11-4 Oracle HTTP Server Identity Wizard Page
The Add Resource to Group Wizard requests information about the document root directory, directory index files, and the virtual directories for the Oracle HTTP Server, as shown in Figure 11-5.
A document root specification is the directory from which documents will be served.
If you are adding an existing Oracle HTTP Server resource to a group, then the Document Root field is prefilled with the current setting in the httpd.conf file used by the service.
If you are creating a new Oracle HTTP Server resource, then the field will contain the syntax for the document root specification.
You can specify cluster or noncluster disks for the document root.
Note:If the server software to which Oracle Fail Safe Manager is connecting is Oracle Fail Safe Server release 3.1.2 or earlier, the wizard will not request information about the document root. See Section 220.127.116.11 for information on how Oracle Fail Safe determines which disk and directory to use for a document root file.
A directory index file specifies the Web page (.html, .asp, and so on) that is displayed if the user specifies the URL, but does not enter a specific Web page (for example, http://www.oracle.com). You can specify a list of directory index files. If the first file in the directory index is not available, then the second file in the directory index is displayed. If the first and second files in the directory index are not available, then the third file in the directory index is displayed, and so on. Click Add at the top of the wizard page to specify directory index files.
A virtual directory specification allows you to hide the physical location of Web pages from users who are accessing the Web site, because the virtual directory is a synonym for the physical directory that contains your Web page files. For example, the virtual directory called /Web_Code might map to the physical directory D:\MyFolder\Forms60\Java, which contains the Java code needed to run a Java applet. Be sure to precede the names of virtual directories with the slash character (/).
Click Add at the bottom of the wizard page to specify virtual directories. When you click Add, Oracle Fail Safe opens the Virtual Directory Mapping dialog box, as shown in Figure 11-6. The dialog box allows you to specify, one at a time, a virtual directory and physical directory pair. In addition, it allows you to indicate if you want CGI programs to run from the specified directory.
If you check the CGI option, then Oracle Fail Safe configures that virtual directory to allow CGI execution; .cgi, .pl, and .exe files are recognized by Oracle HTTP Server as CGI scripts.
Figure 11-5 Oracle HTTP Server Directories Wizard Page
Figure 11-6 Virtual Directory Mapping Dialog Box
The Add Resource to Group Wizard requests that you select one or more IP addresses for the Oracle HTTP Server to use when it is listening for incoming requests, as shown in Figure 11-7.
You can specify IP addresses to use for HTTP (general) access, and those to use for SSL (secure) access. You must specify at least one address for HTTP access.
The IP addresses presented in the wizard are virtual addresses. When you move an address from the Available IP Addresses list to the Selected HTTP or SSL IP Addresses list, Oracle Fail Safe opens a window to request the port on which you want the Oracle HTTP Server to listen on the selected address.
If you specify IP addresses to be used for SSL access to an Oracle HTTP Server (through the Add Resource to Group Wizard), Oracle Fail Safe will modify the configuration file to listen for SSL. However, if Load_module.SSL_module is inside an instance of <IfDefineSSL>, then the virtual host information will also be inside an instance of <IfDefineSSL>. For example:
<IfDefine SSL> <VirtualHost 18.104.22.168:180> SSLEngine on SSLCertificateFile \conf\ssl.crt\server.crt SSLCertificateKeyFile conf\ssl.key\server.key </VirtualHost> </IfDefine>
To activate the SSL support in this case, you must remove all instances of <IFDefineSSL> from the configuration file.
Figure 11-7 Oracle HTTP Server Virtual Address Wizard Page
The <virtual-address> is the virtual address of the Oracle HTTP Server and the <port-number> is the port number of the Oracle HTTP Server.
For example, if the virtual address for a highly available Oracle HTTP Server is ntclu4-6 and the port number is 9768, then to connect to the Oracle HTTP Server, a user would specify the following in a Web browser:
To remove an Oracle HTTP Server from a group, select it from the tree view in Oracle Fail Safe Manager, then on the Resources menu, click Remove from Group.
There are some special considerations for removing an Oracle HTTP Server from a group. When you remove an Oracle HTTP Server from a group, the following occurs:
The fail-safe Oracle HTTP Server becomes a standalone Oracle HTTP Server.
The standalone Oracle HTTP Server is placed on the same node as the group from which it was removed.
Oracle Fail Safe copies the httpd_<resource_name>.conf file from the cluster disk to the Oracle HTTP Server installation directory (<Oracle_Home>\Apache\Apache\conf) on the same node as the standalone Oracle HTTP Server.
Oracle Fail Safe prompts you for the port number on which the standalone Oracle HTTP Server should listen.
Oracle Fail Safe modifies the configuration file so that the Oracle HTTP Server will listen only on the node:port network address.
The virtual host setting for SSL is unchanged, but because it lacks any corresponding Listen directive, it will not be used.
Virtual directory specifications are not modified. As a result, some virtual directory specifications may still point to the cluster disk.
Therefore, before you start up a standalone Oracle HTTP Server (that has been removed from a group), do the following:
Copy files to which the virtual directories point from the cluster disk or disks to a private disk or disks.
Modify the httpd_<resource_name>.conf file so that the virtual directory pointers point to the private disks to which you moved the files in step 1.
Oracle HTTP Servers do not require any special privileges to run in a cluster environment.
General information about using Oracle Fail Safe troubleshooting tools (Verify Cluster and Verify Group) is in Chapter 6. For general information about troubleshooting problems with Oracle HTTP Servers, see the Oracle HTTP Server documentation.
If you have problems with an Oracle HTTP Server, run the Verify Cluster operation to validate and fix any network and node symmetry problems. Run the Verify Group operation to check the group configuration. For example, when you run the Verify Group operation, Oracle Fail Safe compares the information in the cluster registry to what is written in the Oracle HTTP Server configuration files. If the information does not match, Oracle Fail Safe will prompt you 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.
There is a problem placing the group online.
The following sections describe how to troubleshoot specific problems you may encounter with an Oracle HTTP Server configured for high availability.
During an Add Resource to Group operation, Oracle Fail Safe copies the httpd.conf file from its current location to a cluster disk. The original location of this file and the location to which Oracle Fail Safe copies it are displayed in a window as the Add Resource to Group operation is performed. If there is a problem adding the Oracle HTTP Server to the group, perform the following actions to correct the problem:
Check that syntax for the original httpd.conf file is correct by issuing the following command:
apache -t -f <config-file-spec>
In this example, config-file-spec is the file specification for the original httpd.conf file.
Make sure that the copied httpd.conf file is on a cluster disk, in the following directory:
In this example, <cluster-disk> is the cluster disk you specified on the Oracle HTTP Server Identity page in the Add Resource to Group Wizard.
Try to start the copied Oracle HTTP Server using the command line:
apache.exe -f <cluster-disk>:\Apache\conf\httpd_<resource-name>.conf
Rename the original httpd.conf file from which Oracle Fail Safe is attempting to make a copy. This will force Oracle Fail Safe to create a new httpd.conf file for the Oracle HTTP Server. If any errors existed in the original httpd file, they will not exist in the newly created file.
If users are unable to access an Oracle HTTP Server, perform the following actions to find the problem:
Run the Verify Group operation to validate the Oracle HTTP Server cluster resource configuration. See the Verify Group operation discussion in Section 6.1.2.
Try to access the document or other files (forms, reports, and so on) directly using tools such as Forms Runtime or Reports Runtime and resolve any problems found.
After fixing any problems you have found, try to access the document or other files again using the Oracle HTTP Server.
If users are unable to connect to the Web site, try the following actions to find the problem:
Check that the Web site is started on the node that currently owns the group.
Check the proxy settings of the user's Web browser. If it is using a proxy, the user may have to append more address information (for example, "oracle.com") to the URL to make sure that the Web browser does not use the proxy server.