日本語PDF

2 Oracle Services for Microsoft Transaction Serverのインストール

これらのトピックでは、Microsoft Transaction ServerおよびOracle Database環境のためのインストール要件について説明します。

インストールの概要

OraMTSは、Oracle Database Clientの一部としてインストールできます。OraMTSサービスは、インストールしたOracleホームに対して作成されます。Oracle 12c以降、各Oracleホームには独自のOraMTS RecoveryのWindowsサービスがあります。また、Oracle 12c以降、OraMTSサービスはOracleホーム・ユーザーとして実行されます。

Oracleホーム・ユーザーは、Oracleホームから実行されるOracleサービスの所有者で、インストール後は変更できません。Windows組込みアカウントまたはWindowsユーザー・アカウントを指定できます。セキュリティを強化するため、Oracle Databaseのインストールで、Windowsの組込みアカウントではなく標準のWindowsユーザー・アカウントをOracleホーム・ユーザーとして選択することをお薦めします。Oracleホーム・ユーザーの主な目的は、Windowsユーザー・アカウントを使用してWindowsサービスを実行することです。ただし、このユーザー・アカウント(Oracleホーム・ユーザー)は、データベース管理に使用することのない権限の低いユーザー・アカウントである必要があります。これによって、Oracleホーム・ユーザーで実行するOracle Databaseサービスが持つ権限が、Oracle製品を実行するときに必要な最低限の権限のみになります。Windowsユーザー・アカウントには、ローカル・ユーザー、ドメイン・ユーザーまたは管理対象サービス・アカウントを指定できます。

ソフトウェアのみのインストール、クローン・サイクルまたはデータベースでのAddNode操作などの一部の場合に、OraMTSサービスを手動で作成する必要がある場合があります。

このトピックでは、OraMTS用にインストールが必要なOracle製品およびOracle以外の製品について説明します。追加のインストール要件は次のとおりです。Oracle Data Provider for .NET(ODP.NET)クラスタ構成(または任意のフェイルオーバー構成)の場合、Microsoft分散トランザクション・コーディネータ(MS DTC)コンポーネントが稼働しているノードにMicrosoft Transaction Serverをインストールします。これにより、フェイルオーバー中にOracle MTS Recovery Serviceがクライアント・アプリケーションとともに移行されます。これは、リカバリ・トランザクションのスケジューリング時に構成できます。

Microsoft Transaction Serverのインストール要件

Microsoft Transaction ServerがインストールされているWindowsコンピュータの製品要件は次のとおりです。

Oracle製品

注意:

  • Oracle ODBCドライバ、ODP.NET、Oracle Provider for OLE DBおよびOCIは、これらの各製品が必要とされるコンポーネントを作成または使用する場合にのみ必要です。

  • インストールによっては、Oracle MTS Recovery Serviceがインダウト・トランザクションを解決するためにリクエストをリスニングするポートの番号を入力するよう求められます。

Oracle以外の製品

分散トランザクション

分散トランザクションは1つ以上の文からなり、それらが個別に、またはグループとして、分散データベースの複数ノードのデータを更新します。

ODP.NET管理対象ドライバと管理対象外ドライバは、Microsoft Distributed Transaction Coordinator (MSDTC)およびOracleデータベースと統合されます。MSDTCは、同じSystem.Transactionsオブジェクトに入っているあらゆるリソース・マネージャと連係し、2フェーズ・コミットまたはロールバックをアトミックに実行します。これにより、Oracle分散トランザクションをネットワークで適切にコミットまたはロールバックできます。

ODP.NETでは、分散トランザクションにコミット読取り分離レベルのみがサポートされています。

注意:

ODP.NET Coreは分散トランザクションをサポートしていません。

Microsoft Distributed Transaction Coordinatorの統合

管理対象ODP.NETには、分散トランザクション登録、コミットおよびロールバックのためにMSDTCとの統合をサポートする、ネイティブで完全な管理対象実装が含まれます。

管理対象外ODP.NETの場合、Oracle Services for Microsoft Transaction (OraMTS)がMSDTCとの統合を提供し、クライアント・コンポーネントがOracleデータベース分散トランザクションに参加できるようになります。OraMTSは、MSDTCに対するOracleデータベースのプロキシとして動作し、Oracle分散データベース・トランザクションを残りの分散トランザクションとともにコミットまたはロールバックできるようにします。

管理対象外ODP.NETは、管理対象または管理対象外のOraMTS実装を使用できます。Oracle RACまたはData Guardからの高可用性を必要とするアプリケーションでは、管理対象OraMTSの使用をお薦めします。

分散トランザクションでネットワーク障害やサーバー・ハードウェア障害などの障害が発生した場合、インプロセス・トランザクションをインダウトにしておくことができます。管理対象および管理対象外のODP.NETはどちらも、OraMTSリカバリ・サービスを使用して、これらのインダウト・トランザクションを解決します。このリカバリ・サービスはWindowsサービスとして実行されます。管理者は、OraMTS Windowsリカバリ・サービスをインストールおよび構成して、管理対象と管理対象外のどちらのODP.NETを使用するかについてのリカバリ・シナリオを管理する必要があります。各マシンに必要なリカバリ・サービスは1つのみです。

ODP.NETが実行されMSDTCに参加しているすべてのクライアント・マシンに、OraMTSリカバリ・サービスをインストールする必要があります。マシンには複数のIPアドレスが存在する可能性があるため、管理対象ODP.NETアプリケーションの管理者は、実行中のリカバリ・サービスがあるホスト・マシン名またはIPアドレスをアプリケーションの.NET構成ファイルで指定できます。ODP.NET, Unmanaged Driverは、リカバリ・サービスのIP/マシン名を自動的に解決します。

表2-1 分散トランザクションでサポートされるODP.NETのタイプと.NET Frameworkのバージョン

ODP.NETタイプ .NET Frameworkバージョン 分散トランザクションのサポート

管理対象

4.5.2以上

分散トランザクションに対する.NET Frameworkのネイティブ管理対象実装。

管理対象外

4.5.2以上

OraMTS (デフォルト)または管理対象OraMTS実装。Oracle RACまたはData Guardによる高可用性が必要な管理対象外ODP.NETアプリケーションには、OraMTSを使用することが推奨されます。

管理対象外

3.5

OraMTS

注意:

.NET Framework 4ファミリ内の.NET Framework 4.5.1以下は、MicrosoftおよびOracleでサポートされていません。

関連項目:

『Oracle Services for Microsoft Transaction Server開発者ガイド for Microsoft Windows』のOracle MTS Recovery Serviceの手動作成に関する項。

ODP.NET, Managed Driverの設定

この項では、ODP.NET, Managed Driverで分散トランザクションを使用するのに必要な設定および構成ステップを説明します。これらの.NET Frameworkバージョンで分散トランザクションを構成するには、次のステップに従います。

  1. Oracle MTS Recovery Serviceを作成して設定するか、既存のリカバリ・サービスが実行中であることを確認します。

  2. .NET構成でOMTSRECO_PORTの値を設定し、OraMTS Recovery Serviceが実行されているポート番号を指定します。

ODP.NET, Unmanaged Driverの設定

この項では、ODP.NET, Unmanaged Driverで分散トランザクションを使用するのに必要な設定および構成ステップを説明します。

.NET Framework 4.5.2以上の場合、ODP.NET管理対象外ドライバのアセンブリには管理対象OraMTSが含まれます。OraMTSは、アップグレード時に実装を継続できるよう、ODP.NET管理対象外ドライバのデフォルトのオプションです。ただし、Oracle Real Application ClustersまたはOracle Data Guardとともに高可用性FAN操作(HA Events = true)を使用する場合、管理対象OraMTSオプションを使用することをお薦めします。管理対象OraMTSオプションでは高可用性機能がサポートされますが、従来のOraMTSではサポートされません。

アプリケーションでは、.NET構成ファイルのUseOraMTSManagedパラメータを使用して、OraMTS (デフォルト)または管理対象OraMTSの使用を設定できます。

ODP.NET管理対象外ドライバに従来のOraMTS実装を使用するリカバリ・サービスを含めて、OraMTSをインストールして構成します。

管理対象OraMTSを設定するには、次のステップを実行します。

  1. .NET構成ファイルで、UseOraMTSManagedtrueに設定します。

  2. Oracle MTS Recovery Serviceを作成して設定するか、既存のリカバリ・サービスが実行中であることを確認します。

関連項目:

.NET構成の設定の詳細は、「distributedTransactionセクション」を参照してください

Oracle MTS Recovery Serviceの手動作成

Oracle Database 12c以降、Windowsソフトウェア上のOracle Databaseには、OraMTS Recovery Serviceの手動による作成を有効にするためのoramtsctl.exeユーティリティが含まれています。ODP.NET, Managed DriverとUnmanaged Driverは両方とも、OraMTSが不要な完全に管理されたMS DTCソリューションを使用することを選択できます。ただし、いずれの場合にも、Oracle MTS Recovery Serviceは設定する必要があります。MS DTCを使用するOracleクライアント・マシンごとに、1つのOracle MTS Recovery Serviceを構成する必要があります。その1つのサービスを使用して、同じマシン上の複数のOracleアプリケーションを共有できます。実行時に、現在のOracleホームにサービスが作成され、Oracleホーム・ユーザーとして実行されます。

Oracle MTS Recovery Serviceを手動で作成する手順は次のとおりです。

  1. Oracle Databaseをインストールします。

  2. コマンド・プロンプトを開きます。

  3. 次のコマンドを実行します。

oramtsctl -new

Oracle MTS Recovery Serviceを削除するには、次を実行します。

oramtsctl -new
oramtsctl -delete

使用方法

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    

新しいOracler1MTSRecoveryServiceサービスを作成して開始します。

 
 -delete [Oracle_home_directory]

現在のホームまたは指定されたホームのOracler1MTSRecoveryServiceを削除します。

 
 -start  

Oracler1MTSRecoveryServiceサービスを開始します。

 
 -stop   

Oracler1MTSRecoveryServiceサービスを停止します。

 
 -status Query Oracler1MTSRecoveryService

サービス・ステータス。

 
 -config [-port <number>] [-ip <IP_address>] [-dtchost <DTC_hostname>]
         [-cluster <on|off>] [-default]

Oracler1MTSRecoveryServiceサービスの構成を表示または設定します。

-defaultを使用して、Oracler1MTSRecoveryServiceの構成をリセットします。

 
 -passwd

Oracler1MTSRecoveryServiceサービスのユーザー・パスワードを更新します。

 
 -trace  [0-5]

トレースを表示またはトレース・レベルを設定します。トレースを無効にするにはレベル0を設定します。

 
 -trcdir [trace_directory]

トレース・ディレクトリを表示または設定します。

 
 -host   <hostname|IP_address> ...

名前またはIPアドレスで特定されるホストで操作を実行します。

オプションが指定されていない場合は、ローカル・ホストが使用されます。

 
 -port   <number>

サービス・ポートを指定するには、このオプションで-newまたは-configを実行します。

オプションが指定されない場合、サービス・ポートは自動的に構成されます。

 
 -ip     <IP_address>

IPアドレスを指定するには、このオプションで-newまたは-configを実行します。

 
 -default

デフォルト構成を設定するには、このオプションで-newまたは-configを実行します。

 
oramtsctl -new -host host1 host2.domain.com host3 -port 2033

例:

自動構成でサービスをインストールします。

oramtsctl -new
 

サービスをポート2032にインストールします。

oramtsctl -new -port 2032
 

ポート2033を使用するようにサービスを構成します。

oramtsctl -config -port 2033
 

サービスのユーザー・パスワードを更新します。

oramtsctl -passwd
 

複数のホストにサービスをインストールし、統一ポート2033を使用します。

oramtsctl -new -host host1 host2.domain.com host3 -port 2033