This chapter describes installation requirements for the Microsoft Transaction Server and Oracle Database environment.
This chapter contains these topics:
You can install OraMTS as part of the Oracle Database Client. OraMTS service will be created for the Oracle Home you installed. Beginning in Oracle 12c, each Oracle Home has its own OraMTS recovery Windows service. Also, beginning in Oracle 12c, the OraMTS service runs as the Oracle Home user.
Oracle Home User is the owner of Oracle Services that run from Oracle Home and cannot be changed after installation. It can be a Windows built-in account or a Windows User Account. For enhanced security, Oracle recommends choosing the standard Windows User Account as Oracle Home User for Oracle Database installations rather than a Windows built-in account. The primary purpose of Oracle Home User is to run Windows services with Windows User Account. However, this user account (Oracle Home User) must be a low-privileged user account that should not be used for database administration. This ensures that Oracle Database services running under Oracle Home User have only the minimal privileges required to run Oracle products. The Windows User Account can be a Local User, a Domain User, or a Managed Services Account.
In some cases, such as a software-only install, clone cycles, or an
AddNode operation on the database, you may need to manually create the OraMTS service. For more information, see "Manually Creating an Oracle MTS Recovery Service".
This section describes the Oracle and non-Oracle products you must install for OraMTS. Additional installation requirements include:
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:
A data access driver that uses Oracle Services for MTS, such as:
Access to an Oracle Database 10g Release 2 or higher version
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
Oracle Data Provider for .NET, Managed Driver is a fully managed data provider consisting of 100% native .NET code introduced with Oracle Database 12c. ODP.NET, Managed Driver incorporates Oracle Services for MTS entire enlistment and commit functionality, within
Oracle.ManagedDataAccessDTC.dll installed with the managed driver, allowing those functions to execute using managed code. The Oracle Services for MTS recovery service remains unmanaged.
Oracle.ManagedDataAccessDTC.dll must be deployed with
Oracle.ManagedDataAccess.dll for any ODP.NET, Managed Driver applications using distributed transactions. It can run alongside the unmanaged Oracle Services for MTS version if unmanaged data access drivers, such as ODBC, are also using distributed transactions on the same computer.
There are two versions of
Oracle.ManagedDataAccessDTC.dll, one for 32-bit .NET Framework and one for 64-bit .NET Framework, installed with ODP.NET, Managed Driver. While both versions of
Oracle.ManagedDataAccessDTC.dll are fully managed, they must be platform-specific, because the MS DTC application programming interfaces are unmanaged code. Thus, ODP.NET, Managed Driver enlistment and commit functions call either the 32-bit or 64-bit MS DTC, depending on the platform.
The two versions of
Oracle.ManagedDataAccessDTC.dll are located in the following directories:
32-bit .NET Framework located in:
64-bit .NET Framework located in:
Oracle.ManagedDataAccessDTC.dll from the directory appropriate for your .NET application's target platform, 32-bit or 64-bit.
Oracle.ManagedDataAccessDTC.dll should not be directly referenced by a .NET application. It will be implicitly loaded by ODP.NET, Managed Driver when using distributed transactions.
The Oracle Services for MTS recovery service does not need to run in the same computer as ODP.NET, Managed Driver. Administrators can specify the host computer name that has a running recovery service in the .NET config file of the application.
Starting with Oracle Database 12c, Oracle Database on Windows software includes the
oramtsctl.exe utility to enable manual creation of the OraMTS recovery service. Because ODP.NET, Managed Driver does not automatically create the OraMTS recovery service, running this utility creates the service. When run, the service will be created for the current Oracle home and runs as the Oracle Home User.If ODP.NET, Managed Driver can access an existing OraMTS recovery service running on the same computer or another computer, it is not necessary to run this utility.
To manually create an Oracle MTS Recovery Service:
Install an Oracle Database.
Open the command prompt.
Run this command:
To delete an Oracle MTS Recovery Service run:
oramtsctl <-new|-delete|-start|-stop|-status|-config|-passwd|-trace|-trcdir> [-host <hostname|IP_address> ...] [-port <number>] [-ip <IP_address>] [-dtchost <DTC_hostname>] [-cluster <on|off>] [-default] -new
Create and start a new
Oracler1MTSRecoveryService of current home or specified home.
-status Query Oracler1MTSRecoveryService
-config [-port <number>] [-ip <IP_address>] [-dtchost <DTC_hostname>] [-cluster <on|off>] [-default]
Show or set
Oracler1MTSRecoveryService service configuration.
Use -default to reset
Oracler1MTSRecoveryService service user password.
Show traces or set trace level. Set level 0 to turn off tracing.
Show or set trace directory.
-host <hostname|IP_address> ...
Execute operation on host(s) identified by name(s) or IP address(es).
Local host is used if option not specified.
-config with this option to specify a service port.
Service port is configured automatically if option not specified.
-config with this option to specify an IP address.
-config with this option to set default configuration.
oramtsctl -new -host host1 host2.domain.com host3 -port 2033
Install the service with automatic configuration:
Install the service on port 2032:
oramtsctl -new -port 2032
Configure the service to use port 2033:
oramtsctl -config -port 2033
Update the service user password:
Install the service on several hosts and use uniform port 2033:
oramtsctl -new -host host1 host2.domain.com host3 -port 2033