Skip Headers

Oracle® Services for Microsoft Transaction Server Developer's Guide
10g Release 1 (10.1) for Windows

Part Number B10114-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to next page
Next
View PDF

2 Installing and Migrating Oracle Products

This chapter describes installation and migration requirements for the Microsoft Transaction Server and Oracle database environment.

This chapter contains these topics:

Oracle Services For Microsoft Transaction Server Installation Requirements

Table 2-1 lists the Oracle and non-Oracle products you must install. After reviewing the installation requirements, see the Oracle Database Installation Guide for Windows for instructions on installing the required Oracle products. Key guidelines to understand are:

Table 2-1 Installation Requirements

On This Computer... Oracle Products Non-Oracle Products
Windows computer where Microsoft Transaction Server is installed

Note: Oracle Net Services is automatically installed with Oracle Services for Microsoft Transaction Server.

  • Microsoft Transaction Server version 2.0 or later versions
  • Windows operating system

  • Fully-functioning networking protocol software

Note: COM+ or Enterprise Services are later versions of Microsoft Transaction Server.

Computer where the Oracle database is installed
  • Oracle Server (the Oracle database) Oracle Net Services for the server
  • SQL*Plus

  • Fully-functioning networking protocol software


Note:

OO4O, Oracle ODBC Driver, ODP.NET, Oracle Provider for OLE DB, and OCI are only required if you are building or using components with which they are required.


See Also:

Oracle Database Installation Guide for Windows for installation instructions. During installation, you are prompted to enter the port number on which the Oracle MTS Recovery Service will listen for requests to resolve in-doubt transactions.

Upgrading from a Previous Oracle Services For Microsoft Transaction Server Installation

Before uninstalling Oracle Services For Microsoft Transaction Server, you must use the Oracle Manager for MTS Services snap-in in the Microsoft Management Console Explorer to delete the existing Oracle Service for MTS. Table 2-2 shows the procedures to follow.

Table 2-2 Upgrade Requirements

Requirement See
Delete the Oracle Service for MTS using the Oracle Manager for MTS Services snap-in.

Note: If you have already deleted the database, you cannot delete the Oracle Service for MTS using the Oracle Manager for MTS Services snap-in. Instead, delete the service from the registry. This is not the preferred way.

"Deleting an Oracle Service for MTS with Oracle Manager for MTS Services"

"Using the Registry to Manually Delete the Oracle Service for MTS " if you have already deleted the database

Delete roles and privileges of the user associated with the deleted Oracle Service for MTS. "Deleting Roles and Privileges of an Inactive Oracle Service for MTS User"
Complete the following installation tasks:
  • Uninstall Oracle Services For Microsoft Transaction Server from the Windows computer where Microsoft Transaction Server is installed.

  • Install release 10.1 of OO4O, Oracle Provider for OLE DB, Oracle ODBC Driver, or OCI, if you plan to build component object model (COM) components with these products.

  • Install Oracle Services For Microsoft Transaction Server release 10.1 into a single Oracle home. The Oracle MTS Recovery Service is also automatically installed.

Oracle Database Installation Guide for Windows
Complete the following postinstallation tasks:
  • Create the Microsoft Transaction Server administrator user account.

  • Schedule Microsoft Transaction Server transaction recovery jobs for all databases that participate in Microsoft Transaction Server transactions.

Chapter 3, " Managing Recovery Scenarios"

Deleting an Oracle Service for MTS with Oracle Manager for MTS Services

You must use Oracle Manager for MTS Services snap-in in the Microsoft Management Console Explorer to delete the Oracle Service for MTS. Deleting the Oracle Service for MTS in any other way (such as with the Delete button on the keyboard) causes data inconsistencies in the database. These inconsistencies require the database administrator to manually commit or terminate transactions that did not successfully complete or recover. Before deleting the Oracle Service for MTS, ensure that all transactions are resolved by performing the following tasks.

Task 1: Stopping the Oracle Service for MTS

To stop the Oracle Service for MTS:

  1. Go to the computer from which to delete an Oracle Service for MTS. You must modify an Oracle Service for MTS before deleting it. The Oracle Service for MTS can be running on this computer or on a remote computer that you can access from this computer.

  2. Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.

    The Microsoft Management Console appears.

  3. Find the Oracle Service for MTS to modify in the Explorer window.

  4. Right-click the Oracle Service for MTS icon to modify (named MTSDEMO in this example).

    Description of mts3.gif follows
    Description of the illustration mts3.gif

    A menu appears with several options.

  5. Choose Stop Service.

    A message indicates that the Oracle Service for MTS has stopped.

  6. Click OK.

Task 2: Stopping and Restart the Database

To stop and restart the database:

  1. Go to the computer on which the Oracle database is running.

  2. Start SQL*Plus:

    C:\> sqlplus /NOLOG
    
    
  3. Connect to the database as SYSDBA:

    SQL> CONNECT / AS SYSDBA
    
    
  4. Shut down the Oracle database:

    SQL> SHUTDOWN
    
    
  5. Restart the Oracle database:

    SQL> STARTUP
    
    
  6. Exit SQL*Plus:

    SQL> EXIT
    

Task 3: Restarting the Oracle Service for MTS

To restart the Oracle Service for MTS:

  1. Return to the computer from which to modify the Oracle Service for MTS.

  2. Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.

    The Microsoft Management Console appears.

  3. Find the Oracle Service for MTS to start in the Explorer window.

  4. Right-click the Oracle Service for MTS icon.

    A menu appears with several options.

  5. Choose Start Service.

    A message indicates that the Oracle Service for MTS started.

  6. Click OK.

Task 4: Monitoring the Oracle Service for MTS Trace Files

To monitor the Oracle Service for MTS trace files:

  1. Do not enable any new transactions to use the Oracle Service for MTS.

  2. Monitor the Oracle Service for MTS trace file for a message indicating that recovery completed successfully:

    2515156: [2096] OracleMTSService - Accepting new enlistment requests.
    
    

    This file is located in ORACLE_BASE\ORACLE_HOME\oramts\trace.

  3. Right-click the Oracle Service for MTS icon in the Microsoft Management Console once this message appears.

  4. Choose Stop Service.

    A message indicates that the Oracle Service for MTS stopped.

  5. Click OK.

Task 5: Deleting Oracle Service for MTS Table Information

To delete Oracle Service for MTS table information:

  1. Go to the computer on which the Oracle database is running.

  2. Start SQL*Plus:

    C:\> sqlplus /NOLOG
    
    
  3. Connect to the database as SYSDBA:

    SQL> CONNECT / AS SYSDBA
    
    
  4. Delete this information from the following table:

    SQL> DROP TABLE mtsadmin_username.mts_proxy_info;
    
    

    where mtsadmin_username is the Oracle Service for MTS user (for example, mtssys).

    SQL> COMMIT;
    

Task 6: Deleting the Oracle Service for MTS

To delete the Oracle Service for MTS:

  1. Go to the computer from which to delete the Oracle Service for MTS. The Oracle Service for MTS can be running on this computer or on a remote computer that you can access from this computer.

  2. Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.

    The Microsoft Management Console appears.

  3. Find the Oracle Service for MTS to delete in the Explorer window.

  4. Right-click the Oracle Service for MTS icon.

    A menu appears with several options.

  5. Choose Delete.

  6. Go to the section listed in the following table based on the message that you receive:

    If a Message Indicates That... Go To...
    The Oracle Service for MTS was successfully deleted. "Deleting Roles and Privileges of an Inactive Oracle Service for MTS User"
    The Oracle Service for MTS was not deleted. "Using the Registry to Manually Delete the Oracle Service for MTS "

Deleting Roles and Privileges of an Inactive Oracle Service for MTS User

Ensure that you delete the roles and privileges assigned to an Oracle Service for MTS user that you no longer use or whose service you have deleted.

To delete roles and privileges of an inactive Oracle Service for MTS user:

  1. Go to ORACLE_BASE\ORACLE_HOME\oramts\admin.

  2. Open the file revokeuser.sql with a text editor.

  3. Replace mts_user with the username from which to revoke roles and privileges.


    Note:

    This script uses the username mtssys and the password mtssys. If you have changed the password or are using an Oracle Service for MTS username other than mtssys, you must substitute the correct username and password.

  4. Save the changes and exit revokeuser.sql.

  5. Start SQL*Plus:

    C:\> sqlplus /NOLOG
    
    
  6. Connect to the database as SYSDBA:

    SQL> CONNECT / AS SYSDBA
    
    
  7. Run the modified script:

    SQL> @ORACLE_BASE\ORACLE_HOME\oramts\admin\revokeuser.sql;
    
    

    The roles and privileges for the user are deleted.

  8. Exit SQL*Plus:

    SQL> EXIT
    

    See Also:

    Oracle Database Installation Guide for Windows for instructions on installing the latest Oracle Services For Microsoft Transaction Server release

Using the Registry to Manually Delete the Oracle Service for MTS

Before deleting the Oracle Service for MTS, it must be cleanly disassociated from the Oracle database to which it connects. Sometimes this disassociation fails. Follow the instructions in this section only if:

Table 2-3 describes the scenarios in which the Oracle Manager for MTS Services snap-in of the Microsoft Management Console Explorer can fail to delete or modify the Oracle Service for MTS.

Table 2-3 Oracle Service for MTS Deletion or Modification Failures

Scenario Solution
The Oracle Manager for MTS Services snap-in cannot connect to the Oracle database using the information in the registry. Ensure that the Oracle database and its listener are started. Use SQL*Plus or a different tool to verify that the Oracle database accepts new connections.
The information in the Oracle database does not match the information in the registry. The Oracle Manager for MTS Services snap-in is connecting to a different Oracle database than the one to which the Oracle Service for MTS connects. If the Oracle Manager for MTS Services snap-in and the Oracle Service for MTS run on the same computer, they may be using tnsnames.ora files from different Oracle homes. If they run on different computers (for example, the Oracle Manager for MTS Services snap-in is configuring a service on a remote computer), the entry in their tnsnames.ora file is pointing to different databases. Whether it is a local or remote problem, resolve it by ensuring that the entry in the tnsnames.ora file for both the Oracle Manager for MTS Services snap-in and the Oracle Service for MTS points to the same database instance.
Oracle Manager for MTS Services snap-in cannot delete the service information stored in Oracle database. Oracle database is unstable or is not working properly. Check if any database trace files are being created that indicate a database process failure. Trace files are located in ORACLE_BASE\ORACLE_HOME\oramts\trace.

Task 1: Manually Deleting Oracle Service for MTS with the Registry

To manually delete Oracle Service for MTS with the registry:

  1. Start the registry from the command prompt:

    C:\> regedt32
    
    

    The Registry Editor window appears.

  2. Select the HKEY_LOCAL_MACHINE.

    Go to System\CurrentControlSet\Services\OracleMTSServicen.

    where n is the number of the Oracle Service for MTS.

    The right-hand side of the window shows various parameters and values associated with OracleMTSServicen, including those listed in the following table:

    Parameter This Parameter Contains...
    ORAMTS_SUNAME The Oracle Service for MTS username.
    ORAMTS_SUPWD The password for the Oracle Service for MTS username (encrypted in the registry).
    ORAMTS_OCI_OBJ_MODE Initializes OCI in object mode or threaded mode
    ORAMTS_ORADB The net service name for the Oracle Service for MTS to use in connecting to the Oracle database.

  3. Start SQL*Plus:

    C:\> sqlplus /NOLOG
    
    
  4. Connect to the Oracle database with the same username and net service name with which the Oracle Service for MTS connects:

    CONNECT as username/password@net_service_name
    
    

    where net_service_name is the net service name for connecting to the database. The password is stored in the registry in encrypted form. Use plain text passwords when connecting with SQL*Plus.

  5. Verify that the Oracle database is the same one to which the Oracle Service for MTS connects by checking the following database information:

    SQL> SELECT NAME, DBID FROM V$DATABASE; 
    
    

    which displays information similar to the following:

    NAME      DBID 
        --------------------- 
        ORCL      12345678 
    
    
  6. Check that these values match the registry values ORAMTS_DBNAME (ORCL in this example) and ORAMTS_DBID (12345678 in this example).

  7. Check the service information:

    SQL> SELECT rmguid FROM mts_proxy_info; 
    
    

    which displays information similar to the following:

    RMGUID 
    ------------------------- 
    2320b23e93e09fff02a231974 
    
    
  8. Check that this information matches the registry value ORAMTS_RMGUID.

  9. Proceed only if all values match.

    If all values do not match, the Oracle database is not the same one to which the Oracle Service for MTS connects. If you continue, Oracle Service for MTS installation on the database fails. This can leave the database in an inconsistent state that requires database administrator intervention to correct. Because of mismatched tnsnames.ora files, SQL*Plus and Oracle Service for MTS did not connect to the same database.

  10. Delete the service information stored in the database:

    SQL> DELETE FROM mts_proxy_info; 
    SQL> COMMIT; 
    
    
  11. Exit from SQL*Plus.

    SQL> EXIT
    

Task 2: Deleting the OracleMTSServicen Service

To delete the OracleMTSServicen service:

  1. Restart the computer.

  2. Click Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.

    The Microsoft Management Console appears.

  3. Find the Oracle Service for MTS to delete in the Explorer window.

  4. Right-click Oracle Service for MTS.

    A menu appears with several options.

  5. Click Delete.

    If successful, a message indicates that the Oracle Service for MTS was deleted.

  6. If unsuccessful, a message indicates that the Oracle Service for MTS was not deleted. In this case, use the registry to delete the service's registry entry. In the HKEY_LOCAL_MACHINE, delete the following key:

    \System\CurrentControlSet\Services\OracleMTSServicen.

    where n is the number of the Oracle Service for MTS.

  7. Go to "Deleting Roles and Privileges of an Inactive Oracle Service for MTS User".