Oracle® Services for Microsoft Transaction Server Developer's Guide 10g Release 1 (10.1) for Windows Part Number B10114-01 |
|
|
View PDF |
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
Upgrading from a Previous Oracle Services For Microsoft Transaction Server Installation
Using the Registry to Manually Delete the Oracle Service for MTS
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:
At least 256 MB of RAM are required if Oracle database, Microsoft Transaction Server, and Oracle Services for Microsoft Transaction Server (OraMTS) are installed on the same computer.
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.
Table 2-1 Installation Requirements
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. |
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:
|
Oracle Database Installation Guide for Windows |
Complete the following postinstallation tasks:
|
Chapter 3, " Managing Recovery Scenarios" |
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.
To stop the Oracle Service for MTS:
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.
Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the Oracle Service for MTS to modify in the Explorer window.
Right-click the Oracle Service for MTS icon to modify (named MTSDEMO
in this example).
A menu appears with several options.
Choose Stop Service.
A message indicates that the Oracle Service for MTS 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 Oracle Service for MTS:
Return to the computer from which to modify the Oracle Service for MTS.
Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the Oracle Service for MTS to start in the Explorer window.
Right-click the Oracle Service for MTS icon.
A menu appears with several options.
Choose Start Service.
A message indicates that the Oracle Service for MTS started.
Click OK.
To monitor the Oracle Service for MTS trace files:
Do not enable any new transactions to use the Oracle Service for MTS.
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
.
Right-click the Oracle Service for MTS icon in the Microsoft Management Console once this message appears.
Choose Stop Service.
A message indicates that the Oracle Service for MTS stopped.
Click OK.
To delete Oracle Service for MTS 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 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;
To delete the Oracle Service for MTS:
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.
Choose Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the Oracle Service for MTS to delete in the Explorer window.
Right-click the Oracle Service for MTS icon.
A menu appears with several options.
Choose Delete.
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 " |
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:
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.
Note: This script uses the usernamemtssys 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. |
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 Oracle Services For Microsoft Transaction Server release |
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:
The deletion procedures in "Deleting an Oracle Service for MTS 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
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
To manually delete Oracle Service for MTS 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 Oracle Service for MTS.
The right-hand side of the window shows various parameters and values associated with OracleMTSService
n
, 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. |
Start SQL*Plus:
C:\> sqlplus /NOLOG
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.
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
Check that these values match the registry values ORAMTS_DBNAME
(ORCL
in this example) and ORAMTS_DBID
(12345678
in this example).
Check the service information:
SQL> SELECT rmguid FROM mts_proxy_info;
which displays information similar to the following:
RMGUID ------------------------- 2320b23e93e09fff02a231974
Check that this information matches the registry value ORAMTS_RMGUID
.
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.
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.
Click Start > Programs > Oracle - HOME_NAME > Application Development > Oracle Manager for Microsoft Transaction Server.
The Microsoft Management Console appears.
Find the Oracle Service for MTS to delete in the Explorer window.
Right-click Oracle Service for MTS.
A menu appears with several options.
Click Delete.
If successful, a message indicates that the Oracle Service for MTS was deleted.
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\OracleMTSService
n
.
where n
is the number of the Oracle Service for MTS.
Go to "Deleting Roles and Privileges of an Inactive Oracle Service for MTS User".