|
Oracle® Fail Safe Concepts and Administration Guide
Release 3.3.1 for Windows Part No. A96684-01 |
|
Oracle Fail Safe helps you configure an Oracle Service for Microsoft Transaction Server (MTS) for high availability. (In this documentation, the Oracle Service for MTS is referred to as the Oracle MTS Service.) If a cluster node is shut down or fails, the group that contains the Oracle MTS Service fails over to another cluster node automatically.
|
Note: Support for configuring an Oracle Service for Microsoft Transaction Server for high availability is provided for Oracle 8.1.6 and 8.1.7 database servers. Beginning with Oracle9i, Oracle Services for MTS is no longer needed for an Oracle database server to participate in a Microsoft Transaction Server transaction; all the code and logic to enable Oracle database servers to participate in Microsoft Transaction Server transactions are now embedded in the MTS application process. Therefore, this chapter is applicable for Oracle servers 8.1.6 and 8.1.7 only. |
The following topics are discussed in this chapter:
Microsoft Transaction Server is Microsoft's proprietary COM-based transaction processing system that runs on an Internet or network server. Microsoft Transaction Server is used to deploy and manage application and database transaction requests on behalf of a client computer. Microsoft Transaction Server provides the following:
An ActiveX/Distributed Component Object Model (DCOM)-based programming model to develop distributed applications and a runtime environment in which to deploy these applications
Atomicity Consistency Isolation Durability (ACID) properties to components in transactions
Access to performance-enhancing features such as component caching and database connection pooling
Microsoft Transaction Server is a component of the three-tiered, server-centric architecture model. This enables the presentation, business logic, and data elements of applications to be clearly separated on different computers connected in a network.
Without any special database integration, you can deploy a COM component in Microsoft Transaction Server that connects to an Oracle database (see the Oracle Fail Safe Release Notes for a list of supported versions). However, the following features require the installation of Oracle MTS Service software):
The COM component to be marked as transactional (using the Properties dialog box of the component in the Microsoft Management Console Explorer) and have Microsoft Transaction Server control the transaction
Client-side connection pooling used in Microsoft Transaction Server
After Oracle MTS Services software is installed, you create a special Windows service (referred to as an Oracle MTS Service) for each Oracle database to which your COM component connects. Use the Oracle Manager for MTS Services snap-in located in the Microsoft Management Console Explorer to create these services. The Oracle MTS Service provides the following:
Maps all of Microsoft's proprietary Object, Linking, and Embedding (OLE) transactions to Oracle transactions
Handles any recovery scenarios
The COM component can be created using the Oracle Call Interface (OCI), Oracle Objects for OLE (OO4O), Open Database Connectivity (ODBC), or Oracle Provider for OLE DB. For a given Oracle database, you only need one Oracle MTS Service on the network.
If an Oracle MTS Service fails, the application transactions that use the Oracle MTS Service will fail. By configuring the Oracle MTS Service for high availability, you eliminate this point of failure in the configuration.
A multitiered implementation is a common way to configure a solution using Microsoft Transaction Server and Oracle MTS Service.
Figure 13-1 shows a multitiered implementation in which the Microsoft Transaction Server, Oracle MTS Service, Oracle HTTP Server, and COM components reside on a separate cluster from the database.
The three tiers in Figure 13-1 include:
Client tier: Web browsers and user-interface applications
Application tier: Microsoft Transaction Server, Oracle MTS Service, Oracle HTTP Server, and COM components
Database tier: Oracle database server and listener
Multitiered implementations allow for incremental deployment of high availability into your solution. For example, with Oracle Fail Safe, you can eliminate potential points of failure for the components in either the application or database tier, or both tiers can be configured on clusters for high availability with Oracle Fail Safe.
Figure 13-1 Three-Tiered Architecture for Highly Available Oracle MTS Services
You configure standalone Oracle MTS Services for high availability using Oracle Fail Safe Manager. Before you can view standalone Oracle MTS Services in the Oracle Fail Safe Manager interface, they must first be discovered.
Oracle Services for MSCS discovers Oracle MTS Services by reviewing the list in the Windows service manager, finding Oracle MTS Service 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.
You configure an Oracle MTS Service for high availability by adding it to a group using the Add Resource to Group Wizard in Oracle Fail Safe Manager. The group you specify must already contain a Microsoft Distributed Transaction Coordinator and at least one virtual address. Typically, the group includes the following resources:
A Microsoft Distributed Transaction Coordinator that was configured for high availability when the operating system software was installed
A virtual address (that consists of an IP address and network name)
One or more Oracle MTS Services
All disks used by the Oracle MTS Services and Microsoft Distributed Transaction Coordinator
Note that there can be only one Microsoft Distributed Transaction Coordinator running on the cluster at any given time, and that there must be one Oracle MTS Service for each database involved in distributed transactions. Therefore, all Oracle MTS Services on a cluster must be added to the group containing the Microsoft Distributed Transaction Coordinator.
Before you add an Oracle MTS Service to a group, note the following:
Microsoft Distributed Transaction Coordinator (MS DTC) must be configured for high availability on all cluster nodes. (If you are using Windows 2000, MS DTC is installed and configured for high availability when you install Windows 2000 on a cluster. If you are using Windows NT, MS DTC is installed and configured for high availability when you install the Windows NT option pack on a cluster.)
If you are using Windows 2000, the MS DTC resource is automatically added to the Cluster Group. However, the MS DTC resource and the Oracle MTS Service resource must be in the same group. Therefore, you must either manually move the MS DTC resource to the group where you will add the Oracle MTS Service resource, or let Oracle Fail Safe move the MS DTC resource for you.
After the MS DTC resource has been moved to the new group, make sure all your applications access MS DTC using the virtual address of the new group.
You can verify that MS DTC has been configured for high availability on all cluster nodes by looking for the MS DTC resource in the tree view under the Cluster Resources folder. You can verify that it has been configured to run on all cluster nodes by moving the group that it contains it to each cluster node.
(See the Oracle Fail Safe Release Notes for information on supported operating system software versions.)
Oracle MTS Service software must be installed on a private disk on all cluster nodes.
An Oracle MTS Service must be created for each database on the cluster that will be involved in distributed transactions.
Make sure that the Microsoft Management Console with the Oracle Manager for Microsoft Transaction Server is not running on any cluster nodes. The add operation modifies the Oracle MTS Service and must have exclusive access to it. After the add operation is complete, you can restart the Oracle Manager for Microsoft Transaction Server.
Oracle Fail Safe Manager automates the steps required to make an Oracle MTS Service highly available with Oracle Fail Safe. In the Add Resource to Group Wizard in Oracle Fail Safe Manager, specify Oracle MTS Service as the resource type.
Table 13-1 provides a quick reference of the tasks needed to configure an Oracle MTS Service for high availability. For step-by-step instructions about any particular task, refer to the Oracle Fail Safe online help. From the Oracle Fail Safe Manager menu bar, choose Help, then "Search for Help on."
Table 13-1 Steps for Configuring an Oracle MTS Service
| Step | Procedure | Comments |
|---|---|---|
| 1 | Ensure the Microsoft Distributed Transaction Coordinator (MS DTC) was configured for high availability when the operating system software was installed on the cluster. | See the Microsoft operating system documentation for information on MS DTC. |
| 2 | Ensure that Oracle MTS Services software is installed on a private disk on each cluster node. | See the Oracle database server documentation for information on installing Oracle MTS Services software. |
| 3 | Make sure that the Microsoft Management Console with the Oracle Manager for Microsoft Transaction Server is not running on any cluster nodes. | The add operation modifies the Oracle MTS Service and must have exclusive access to it. After the add operation is complete, you can restart the Oracle Manager for Microsoft Transaction Server. |
| 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 | Make sure the MS DTC resource is in the correct group. | If you are running Windows 2000, the MS DTC resource is automatically added to the Cluster Group. You must move the MS DTC resource to the group where you will add the Oracle MTS Service or let Oracle Fail Safe do it for you. |
| 7 | If desired, add more virtual addresses to the group containing MS DTC. | Choose Resources, then Add to Group to add more virtual addresses to the group. (A virtual address was added when MS DTC was configured for high availability.) |
| 8 | Add the Oracle MTS Service to the group that contains MS DTC. | Choose Resources, then Add to Group to run the Add Resource to Group Wizard. The wizard helps you to create and configure the Oracle MTS Service for high availability. |
| 9 | 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. |
| 10 | Configure other application components for failover. | Configure other application and database servers with Oracle Fail Safe to make your entire application highly available. |
Oracle Fail Safe Manager provides the Add Resource to Group Wizard to help you configure an Oracle MTS Service for high availability. When you use the Add Resource to Group Wizard, you need the following data:
Possible owner nodes for the Oracle MTS Service, if the cluster consists of more than two nodes, or if one node is not available in a two-node cluster
The name of the group containing MS DTC
The virtual address you want to associate with the Oracle MTS Service (if there is more than one virtual address in the group)
The Oracle MTS Service name
The Oracle MTS Service resource name (the name you want Oracle Fail Safe Manager to use to refer to the Oracle MTS Service)
The connection information for the database associated with the Oracle MTS Service
The operating system domain user account under which the Oracle MTS Service logs on
The clusterwide operation to add an Oracle MTS Service to a group will fail if any of the following conditions exists:
The Oracle MTS Service that you specify is not configured correctly. Make sure that the Oracle MTS Service runs as a standalone service before you add it to a group.
You attempt to add the Oracle MTS Service to a group that does not contain MS DTC.
The account under which the Oracle MTS Service runs is not a domain account.
MS DTC and Oracle MTS Service are not installed on every cluster node that is a possible owner node for the concurrent manager.
The database to which the Oracle MTS Service connects does not exist, the connection information for this database was entered incorrectly in the Add Resource to Group Wizard, or the information for this database in the tnsnames.ora file is incorrect.
If there is an error adding or removing an Oracle MTS Service from a group, check the Windows Event Viewer (Application Log) for error messages from "Oracle Fail Safe."
The following sections describe in detail the data requirements for adding an Oracle MTS Service to a group.
If you are adding an Oracle MTS Service 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 MTS Service by specifying a list of selected nodes, as shown in Figure 13-2. To specify that a particular node should not be a possible owner for the Oracle MTS Service, 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 13-2 Choose Nodes Wizard Page When All Nodes Are Available
If you are adding an Oracle MTS Service 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 MTS Service. In this case, the wizard page displays which nodes are unavailable and why, as shown in Figure 13-3.
Figure 13-3 Choose Nodes Wizard Page When Any Node Is Unavailable
A group must contain at least one virtual address before you add an Oracle MTS Service to it. If the group to which you are adding an Oracle MTS Service contains more than one virtual address, you are asked to select which one you would like to associate with the Oracle MTS Service, as shown in Figure 13-4.
Figure 13-4 Oracle MTS Service Virtual Address Wizard Page
The Add Resource to Group Wizard requests the following information about the Oracle MTS Service identity, as shown in Figure 13-5.
Oracle MTS Service name
This is the name of an existing Oracle MTS Service on the cluster. The list of names provided are those that have been identified by Oracle Fail Safe as standalone Oracle MTS Services on the cluster.
This is the name by which you want Oracle Fail Safe Manager to refer to the Oracle MTS Service. This name will appear in the Oracle Fail Safe Manager tree view.
This name can be the same as the Oracle MTS Service name. If you specify a different name, make sure that it is unique across the cluster.
Figure 13-5 Oracle MTS Service Identity Wizard Page
The Add Resource to Group Wizard requests the following information for the database with which the Oracle MTS Service is associated, as shown in Figure 13-6.
User name
This is the user name for the database account. You cannot change this field during an Add Resource to Group operation. If you want to change the database account that the Oracle MTS Service uses, do so before or after you run the Add Resource to Group operation.
Password
This is the password for the account specified in the User Name field.
Confirm password
This is the same password as you entered in the Password field.
Service name
This is the service name for the database with which the account is associated. You cannot change this field during an Add Resource to Group operation; an Oracle MTS Service is always created for a specific database.
Figure 13-6 Oracle MTS Service Database Wizard Page
The Add Resource to Group Wizard requests that you provide authentication information (a password) if the account under which the Oracle MTS Service logs on is a user account. If the account under which the Oracle MTS Service logs on is the system account, you do not enter any data on this page, as shown in Figure 13-7.
User name
Displays the name of the account under which the Oracle MTS Service logs on. If the Oracle MTS Service logs on using the system account, then this field contains the string, "LocalSystem." If the Oracle MTS Service logs on using a user account, then this field contains that account name.
Password
Displays nothing if the Oracle MTS Service logs on using the system account. Enter the user account password if the Oracle MTS Service logs on using a user account.
Confirm password
Displays nothing if the Oracle MTS Service logs on using the system account. Reenter the user account password if the Oracle MTS Service logs on using a user account.
Figure 13-7 Oracle MTS Service Authentication Wizard Page
The account that the Oracle MTS Service uses to log on to the system must be the system account or a domain user account.
The account that the Oracle MTS Service uses to connect to the database must have the following database roles, privileges, and rights:
CONNECT, RESOURCE, and SELECT_CATALOG_ROLE database roles
FORCE ANY TRANSACTION, CREATE PUBLIC SYNONYM, and DROP PUBLIC SYNONYM database privileges
SELECT, INSERT, UPDATE, and DELETE rights on the Oracle MTS Service table in the Oracle database
General information about troubleshooting fail-safe resources is in Chapter 6. For general information about troubleshooting an Oracle MTS Service, see Using Microsoft Transaction Server with Oracle, which is part of the Oracle8i for Windows documentation set.
If you have problems with an Oracle MTS Service configured for high availability, run the Verify Cluster operation to validate and fix any problems.
When you issue a Verify Group command on a group containing an Oracle MTS Service, Oracle Fail Safe does the following on all nodes that are possible owner nodes for the Oracle MTS Service:
Checks that the Oracle MTS Service exists.
Checks that the Oracle MTS Service can connect to the database with which it is associated.
Checks that the database with which the Oracle MTS Service is associated (as recorded in the Windows registry) is the same on all possible owner nodes.
Authenticates the account under which the Oracle MTS Service runs.
Validates dependencies.
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.
You accidently delete the Oracle MTS Service from a node that is a possible owner node for the Oracle MTS Service. The Verify Group operation will re-create the Windows service for the Oracle MTS Service.
A new node is added to the cluster.
If any problems are found during the group verification, Oracle Fail Safe prompts you to fix them or returns an error message that further describes the problem.
To troubleshoot problems when adding a standalone Oracle MTS Service to a group, ensure that:
The database associated with the Oracle MTS Service is accessible from all cluster nodes that are possible owner nodes for the Oracle MTS Service.
The account under which the required Oracle MTS Service runs is a system account or is a domain user account.
The Windows Registry entry for LAST_HOME is set to the highest Oracle home number on your local system.
If you attempt to add an Oracle MTS Service to a group and the LAST_HOME entry for HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/ALL_HOMES is not equal to the highest Oracle home number on your system, then the Add Oracle MTS Service to Group operation will fail and you will receive the following messages:
FS-10778: The Oracle MTS Service resource provider failed to configure the cluster resource <resource-name> FS-10618: Failed to change the configuration for Windows service <service-name> 0x424: The specified service does not exist as an installed service
For example, if you have HOME0, HOME1, and HOME2 on your system, the value for LAST_HOME must be 2 for the Add Oracle MTS Service to Group operation to work. To fix the problem, change the value of LAST_HOME to match the highest Oracle home number on the local system and rerun the Add Resource to Group Wizard.
If there is a problem placing a group that contains an Oracle MTS Service online, verify the group. When you use the Verify Group command (from the Oracle Fail Safe Manager Troubleshooting menu), Oracle Fail Safe checks the group configuration and attempts to fix any problems that it finds. If the Verify Group command cannot fix the problem, it returns an error message that should help you to resolve the problem manually. If the Verify Group command finds a problem, it will prompt you on how to proceed.
|
![]() Copyright © 1996, 2002 Oracle Corporation All rights reserved |
|