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:
Oracle Database Client, included automatically with the OraMTS installation.
A data access driver that uses Oracle Services for MTS, such as:
Access to an Oracle Database 10g Release 2 or higher version
Notes:
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.
The 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: OH\
odp.net\managed\x86
64-bit .NET Framework located in: OH
\odp.net\managed\x64
Deploy the 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:
oramtsctl -new
To delete an Oracle MTS Recovery Service run:
oramtsctl -delete
Usage
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
service.
-delete [Oracle_home_directory]
Delete Oracler1MTSRecoveryService
of current home or specified home.
-start
Start Oracler1MTSRecoveryService
service.
-stop
Stop Oracler1MTSRecoveryService
service.
-status Query Oracler1MTSRecoveryService
service status.
-config [-port <number>] [-ip <IP_address>] [-dtchost <DTC_hostname>] [-cluster <on|off>] [-default]
Show or set Oracler1MTSRecoveryService
service configuration.
Use -default to reset Oracler1MTSRecoveryService
configuration.
-passwd
Update Oracler1MTSRecoveryService
service user password.
-trace [0-5]
Show traces or set trace level. Set level 0 to turn off tracing.
-trcdir [trace_directory]
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.
-port <number>
Execute -new
or -config
with this option to specify a service port.
Service port is configured automatically if option not specified.
-ip <IP_address>
Execute -new
or -config
with this option to specify an IP address.
-default
Execute -new
or -config
with this option to set default configuration.
oramtsctl -new -host host1 host2.domain.com host3 -port 2033
Examples:
Install the service with automatic configuration:
oramtsctl -new
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:
oramtsctl -passwd
Install the service on several hosts and use uniform port 2033:
oramtsctl -new -host host1 host2.domain.com host3 -port 2033