Oracle® Services for Microsoft Transaction Server Developer's Guide 11g Release 1 (11.1) for Microsoft Windows Part Number B28377-01 |
|
|
View PDF |
This chapter describes installation and migration requirements for the Microsoft Transaction Server and Oracle Database environment.
This chapter contains these topics:
You can install OraMTS by choosing the Custom installation type when you install Oracle Database.
This section describes the Oracle and non-Oracle products you must install for OraMTS. Additional installation requirements include:
Sufficient RAM if Oracle Database, Microsoft Transaction Server, and OraMTS are installed on the same computer.
Note:
Refer to Oracle Database Installation Guide for Windows or the minimum RAM requirements.Only one Oracle MTS Recovery Service exists on each computer.
For Oracle Data Provider for .NET (ODP.NET) cluster configurations (or any failover configuration), install Microsoft Transaction Server on the node running the Microsoft Distributed Transaction Coordinator (MS DTC) component. This ensures that the Oracle MTS Recovery Service migrates with the client application during failover. You can configure this when scheduling recovery transactions.
The Windows computer where Microsoft Transaction Server is installed has the following product requirements:
Oracle Net Services for the client; automatically installed with OraMTS
ORACLE_LOADER (data access driver)
Notes:
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.
Depending on the 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
Before uninstalling OraMTS, you must use the Oracle Manager for MTS Services snap-in in the Microsoft Management Console Explorer to delete the existing OraMTS. The entire process is outlined in the following steps:
Delete OraMTS using the Oracle Manager for MTS Services snap-in.
Alternatively, if you already deleted the database, delete the service from the registry.
Delete roles and privileges of the user associated with the deleted OraMTS.
Uninstall OraMTS from the Windows computer where Microsoft Transaction Server is installed.
Install release 11.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 OraMTS release 11.1 into a single Oracle home. The Oracle MTS Recovery Service is installed automatically.
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.
Steps 1 and 2 are discussed in detail in this section. For Steps 3 through 5, see Oracle Database Installation Guide for Windows. For Steps 6 and 7, refer to Chapter 3, "Managing Recovery Scenarios".
You must use Oracle Manager for MTS Services snap-in in the Microsoft Management Console Explorer to delete the OraMTS. Deleting the OraMTS 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 OraMTS, ensure that all transactions are resolved by completing these steps:
Go to the computer from which to delete an OraMTS. You must modify an OraMTS before deleting it. The OraMTS can be running on this computer or on a remote computer that you can access from this computer.
From the Start menu, select Programs, then Oracle - HOME_NAME, then Application Development, then Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the OraMTS to modify in the Explorer window.
Right-click the OraMTS icon to modify; MTSDEMO
in this example.
A menu with several options appears.
Choose Stop Service.
A message indicates that the OraMTS has stopped.
Click OK.
To stop and restart the database:
Go to the computer on which the Oracle Database is running.
Start SQL*Plus:
C:\> sqlplus /NOLOG
Connect to the database as SYSDBA
:
SQL> CONNECT / AS SYSDBA
Shut down the Oracle Database:
SQL> SHUTDOWN
Restart the Oracle Database:
SQL> STARTUP
Exit SQL*Plus:
SQL> EXIT
To restart the OraMTS:
On the computer where OraMTS is modified, from the Start menu, select Programs, then Oracle - HOME_NAME, then Application Development, then Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the OraMTS to start in the Explorer window.
Right-click the OraMTS icon.
A menu with several options appears.
Choose Start Service.
A message indicates that the OraMTS started.
Click OK.
To monitor the OraMTS trace files:
Do not enable any new transactions to use the OraMTS.
Monitor the OraMTS trace file, located at ORACLE_BASE
\
ORACLE_HOME
\oramts\trace
, for a message indicating that the recovery completed successfully:
2515156: [2096] OracleMTSService - Accepting new enlistment requests.
Right-click the OraMTS icon in the Microsoft Management Console once message 2515156
appears.
Choose Stop Service.
A message indicates that the OraMTS stopped.
Click OK.
To delete OraMTS table information:
Go to the computer on which the Oracle Database is running.
Start SQL*Plus:
C:\> sqlplus /NOLOG
Connect to the database as SYSDBA
:
SQL> CONNECT / AS SYSDBA
Delete this information from the mts_proxy_info
table:
SQL> DROP TABLE mtsadmin_username.mts_proxy_info;
where mtsadmin_username
is the OraMTS user, such as mtssys
.
SQL> COMMIT;
To delete the OraMTS:
On the computer from which the OraMTS should be deleted, from the Start menu, select Programs, then Oracle - HOME_NAME, then Application Development, then Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the OraMTS to delete in the Explorer window.
Right-click the OraMTS icon.
A menu with several options appears.
Choose Delete.
If you receive a message indicating that the OraMTS was successfully deleted, see "Deleting Roles and Privileges of an Inactive OraMTS User".
If OraMTS was not deleted successfully, see "Deleting Oracle Services for Microsoft Transaction Server Manually".
Ensure that you delete the roles and privileges assigned to an OraMTS user that you no longer use, or whose service you have deleted.
To delete roles and privileges of an inactive OraMTS user:
Go to ORACLE_BASE\ORACLE_HOME
\oramts\admin
.
Open the file revokeuser.sql
with a text editor.
Replace mts_user
with the username from which to revoke roles and privileges.
This script uses the username mtssys
and the password mtssys
. If you have changed the password or are using an OraMTS username other than mtssys
, you must substitute the correct username and password.
Save the changes and exit revokeuser.sql
.
Start SQL*Plus:
C:\> sqlplus /NOLOG
Connect to the database as SYSDBA
:
SQL> CONNECT / AS SYSDBA
Run the modified script:
SQL> @ORACLE_BASE\ORACLE_HOME\oramts\admin\revokeuser.sql;
The roles and privileges for the user are deleted.
Exit SQL*Plus:
SQL> EXIT
See Also:
Oracle Database Installation Guide for Windows for instructions on installing the latest OraMTS releaseBefore deleting OraMTS, 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:
The deletion procedures in Deleting OraMTS with Oracle Manager for MTS Services were unsuccessful.
You have already deleted the Oracle Database and cannot use the Oracle Manager for MTS Services snap-in.
Oracle Manager for MTS Services snap-in of the Microsoft Management Console Explorer can fail to delete or modify the OraMTS under three distinct conditions:
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 OraMTS connects. If the Oracle Manager for MTS Services snap-in and the OraMTS 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 OraMTS 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
.
To manually delete OraMTS with the registry:
Start the registry from the command prompt:
C:\> regedt32
The Registry Editor window appears.
Select the HKEY_LOCAL_MACHINE
.
Go to System\CurrentControlSet\Services\OracleMTSService
n
,
where n
is the number of the OraMTS.
The right-hand side of the window shows various parameters and values associated with OracleMTSService
n
:
ORAMTS_SUPWD
is the password for the OraMTS username, encrypted in the registry.
ORAMTS_OCI_OBJ_MODE
Initializes OCI in object mode or threaded mode.
ORAMTS_ORADB
is the net service name for the OraMTS to use in connecting to the Oracle Database.
Start SQL*Plus:
C:\> sqlplus /NOLOG
Connect to the Oracle Database; use the same username and net service name with which the OraMTS 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.
Verify that the Oracle Database is the same one to which the OraMTS connects by checking the following database information:
SQL> SELECT NAME, DBID FROM V$DATABASE;
Check that the NAME
value matches the registry ORAMTS_DBNAME
value, and that the DBID
value matches the ORAMTS_DBID
value.
Check service information:
SQL> SELECT RMGUID FROM mts_proxy_info;
Check that the RMGUID
value matches the registry ORAMTS_RMGUID
value.
Proceed only if all values match.
If all values do not match, the Oracle Database is not the same one to which the OraMTS connects. If you continue, OraMTS 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 OraMTS did not connect to the same database.
Delete the service information stored in the database:
SQL> DELETE FROM mts_proxy_info; SQL> COMMIT;
Exit from SQL*Plus.
SQL> EXIT
To delete the OracleMTSService
n
service:
Restart the computer.
From the Start menu, select Programs, then Oracle - HOME_NAME, then Application Development, then Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the OraMTS to delete in the Explorer window.
Right-click OraMTS.
A menu with several options appears.
Click Delete.
If successful, a message indicates that the OraMTS was deleted.
If unsuccessful, a message indicates that the OraMTS 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\OracleMTSService
n
,
where n
is the number of the OraMTS.
Go to "Deleting Roles and Privileges of an Inactive OraMTS User".