Oracle Services for Microsoft Transaction Server開発者ガイド 11gリリース1(11.1) for Microsoft Windows E05793-01 |
|
戻る |
次へ |
この章では、Microsoft Transaction ServerおよびOracle Databaseの環境におけるインストールおよび移行の要件について説明します。
この章の項目は次のとおりです。
OraMTSをインストールするには、Oracle Databaseのインストール時に、「カスタム」インストール・タイプを選択します。
この項では、OraMTS用にインストールが必要なOracle製品およびOracle以外の製品について説明します。その他のインストール要件は次のとおりです。
Oracle Database、Microsoft Transaction ServerおよびOraMTSが同じコンピュータにインストールされている場合は十分なRAMが必要です。
注意: Oracle Databaseのインストレーション・ガイドまたは最小RAM要件を参照してください。 |
1台のコンピュータにインストール可能なOracle MTS Recovery Serviceは1つのみです。
Oracle Data Provider for .NET(ODP.NET)クラスタ構成(または任意のフェイルオーバー構成)の場合、Microsoft分散トランザクション・コーディネータ(MS DTC)コンポーネントが稼働しているノードにMicrosoft Transaction Serverをインストールします。これにより、フェイルオーバー中にOracle MTS Recovery Serviceがクライアント・アプリケーションとともに移行されます。これは、リカバリ・トランザクションのスケジューリング時に構成できます。
Microsoft Transaction ServerがインストールされているWindowsコンピュータの製品要件は次のとおりです。
Oracle Services for Microsoft Transaction Serverをアンインストールする前に、Microsoft管理コンソールのOracle Manager for MTS Servicesスナップインを使用して、既存のOraMTSを削除する必要があります。手順は次のとおりです。
Oracle Manager for MTS Servicesスナップインを使用してOraMTSを削除します。
または、データベースをすでに削除済の場合は、レジストリからこのサービスを削除します。
削除したOraMTSに関連付けられているユーザーのロールおよび権限を削除します。
Microsoft Transaction ServerがインストールされているWindowsコンピュータから、Oracle Services for Microsoft Transaction Serverをアンインストールします。
リリース11.1のOO4O、Oracle Provider for OLE DB、Oracle ODBCドライバまたはOCIを使用してComponent Object Model(COM)コンポーネントを作成する予定の場合、その製品をインストールします。
Oracle Services for Microsoft Transaction Serverリリース11.1を、1つのOracleホームにインストールします。Oracle MTS Recovery Serviceが自動的にインストールされます。
Microsoft Transaction Server管理者ユーザー・アカウントを作成します。
Microsoft Transaction Serverトランザクションに登録するすべてのデータベースに対して、Microsoft Transaction Serverトランザクション・リカバリ・ジョブをスケジューリングします。
手順1と2については、この項で詳しく説明します。手順3から5については、Oracle Databaseのインストレーション・ガイドを参照してください。手順6と7については、第3章「リカバリのシナリオ管理」を参照してください。
OraMTSを削除するには、Microsoft管理コンソールのOracle Manager for MTS Servicesスナップインを使用する必要があります。それ以外の方法で(たとえばキーボードの[Del]キーを押して)OraMTSを削除すると、データベースのデータの一貫性が損われます。データの一貫性が損われた場合、正常に完了またはリカバリしなかったトランザクションを、データベース管理者が手動でコミットするか異常終了する必要があります。OraMTSを削除する前に、次の手順を実行してすべてのトランザクションを必ず解決してください。
OraMTSを削除するコンピュータにログオンします。削除する前に、OraMTSを操作する必要があります。OraMTSは、このコンピュータで実行されていても、このコンピュータからアクセスできるリモート・コンピュータで実行されていてもかまいません。
「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Application Development」→「Oracle Manager for Microsoft Transaction Server」を選択します。
Microsoft管理コンソールが表示されます。
「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。
削除するOraMTSのアイコンを右クリックします。この例では「MTSDEMO
」です。
いくつかのオプションを含むメニューが表示されます。
「サービス停止」を選択します。
OraMTSが停止したことを示すメッセージが表示されます。
「OK」をクリックします。
データベースを停止してから再起動するには、次のようにします。
Oracle Databaseが稼働しているコンピュータにログオンします。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
データベースにSYSDBA
として接続します。
SQL> CONNECT / AS SYSDBA
Oracle Databaseを停止します。
SQL> SHUTDOWN
Oracle Databaseを再起動します。
SQL> STARTUP
SQL*Plusを終了します。
SQL> EXIT
OraMTSを再起動するには、次のようにします。
OraMTSを修正したコンピュータで、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Application Development」→「Oracle Manager for Microsoft Transaction Server」を選択します。
Microsoft管理コンソールが表示されます。
「エクスプローラ」ウィンドウで、起動するOraMTSを見つけます。
OraMTSのアイコンを右クリックします。
いくつかのオプションを含むメニューが表示されます。
「サービス 開始」を選択します。
OraMTSが開始したことを示すメッセージが表示されます。
「OK」をクリックします。
OraMTSのトレース・ファイルを監視するには、次のようにします。
新しいトランザクションがOraMTSを使用しないようにします。
ORACLE_BASE
\
ORACLE_HOME
\oramts\trace
にあるOraMTSトレース・ファイルで監視します。このファイルには、リカバリが正常に完了したことを示す次のメッセージが書き込まれます。
2515156: [2096] OracleMTSService - Accepting new enlistment requests.
メッセージ2515156
が表示されたら、Microsoft管理コンソールでOraMTSのアイコンを右クリックします。
「サービス 停止」を選択します。
OraMTSが停止したことを示すメッセージが表示されます。
「OK」をクリックします。
OraMTS表を削除するには、次のようにします。
Oracle Databaseが稼働しているコンピュータにログオンします。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
データベースにSYSDBA
として接続します。
SQL> CONNECT / AS SYSDBA
mts_proxy_info
表からこの情報を削除します。
SQL> DROP TABLE mtsadmin_username.mts_proxy_info;
mtsadmin_username
はOraMTSのユーザー(mtssys
など)です。
SQL> COMMIT;
OraMTSを削除するには、次のようにします。
OraMTSを削除するコンピュータで、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Application Development」→「Oracle Manager for Microsoft Transaction Server」を選択します。
Microsoft管理コンソールが表示されます。
「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。
OraMTSのアイコンを右クリックします。
いくつかのオプションを含むメニューが表示されます。
「削除」を選択します。
OraMTSが正常に削除されたことを示すメッセージが表示された場合、「OraMTSの非アクティブ・ユーザーのロールおよび権限の削除」を参照してください。
OraMTSが正常に削除されなかった場合は、「Oracle Services for Microsoft Transaction Serverの手動削除」を参照してください。
OraMTSの不要になったユーザーや、サービスを削除したユーザーに割り当てられているロールおよび権限は必ず削除します。
OraMTSの非アクティブ・ユーザーのロールおよび権限を削除するには、次のようにします。
ORACLE_BASE\ORACLE_HOME
\oramts\admin
に移動します。
ファイルrevokeuser.sql
をテキスト・エディタで開きます。
mts_user
を、ロールおよび権限を無効にするユーザー名に置き換えます。
このスクリプトでは、ユーザー名mtssys
およびパスワードmtssys
を使用しています。パスワードを変更した場合や、mtssys
以外のOraMTSユーザー名を使用している場合は、正しいユーザー名およびパスワードに置き換える必要があります。
変更内容を保存してrevokeuser.sql
を閉じます。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
データベースにSYSDBA
として接続します。
SQL> CONNECT / AS SYSDBA
変更したスクリプトを実行します。
SQL> @ORACLE_BASE\ORACLE_HOME\oramts\admin\revokeuser.sql;
ユーザーのロールおよび権限が削除されます。
SQL*Plusを終了します。
SQL> EXIT
関連資料: 最新リリースのOracle Services for Microsoft Transaction Serverのインストール方法は、Oracle Databaseのインストレーション・ガイドを参照してください。 |
OraMTSを削除する前に、接続しているOracle Databaseへの連結を完全に解除する必要があります。この連結解除が失敗する場合があります。次の場合にのみ、この項の手順に従ってください。
「Oracle Manager for MTS Servicesを使用したOraMTSの削除」の削除手順に失敗した場合
Oracle Databaseをすでに削除していて、Oracle Manager for MTS Servicesスナップインを使用できない場合
次の3つの状況では、Microsoft管理コンソールのOracle Manager for MTS ServicesスナップインはOraMTSの削除または変更に失敗する可能性があります。
レジストリの情報を使用して、Oracle Manager for MTS ServicesスナップインからOracle Databaseに接続できない。
Oracle Databaseとそのリスナーが起動していることを確認します。SQL*Plusなどのツールを使用して、Oracle Databaseが新しい接続を受け入れているかどうかを確認します。
Oracle Databaseの情報が、レジストリの情報と一致していない。
Oracle Manager for MTS Servicesスナップインが、Oracle Databaseの接続先とは異なるOracle Databaseに接続しています。Oracle Manager for MTS ServicesスナップインおよびOraMTSが同じコンピュータで実行されている場合は、それらが異なるOracleホームにあるtnsnames.ora
ファイルを使用している可能性があります。異なるコンピュータで実行されている場合(たとえば、Oracle Manager for MTS Servicesスナップインでリモート・コンピュータ上のサービスを構成している場合)は、両者が使用しているtnsnames.ora
ファイルのエントリが別々のデータベースを指定しています。ローカルまたはリモートのどちらの問題であっても、これを解決するには、Oracle Manager for MTS ServicesスナップインおよびOraMTSが使用するtnsnames.ora
ファイルのエントリが、同じデータベース・インスタンスを指定するようにします。
Oracle Manager for MTS ServicesスナップインからOracle Databaseに格納されているサービス情報を削除できない。
Oracle Databaseが不安定もしくは正常に動作していない可能性があります。データベース・プロセスの障害を示すデータベース・トレース・ファイルが作成されていないかどうか確認します。トレース・ファイルは、ORACLE_BASE
\
ORACLE_HOME
\
oramts\trace
にあります。
レジストリを使用してOraMTSを手動で削除するには、次のようにします。
コマンド・プロンプトからレジストリ エディタを起動します。
C:\> regedt32
「レジストリ エディタ」ウィンドウが表示されます。
HKEY_LOCAL_MACHINE
を選択します。
System\CurrentControlSet\Services\OracleMTSService
n
に移動します。
n
はOraMTSの番号です。
ウィンドウの右側には、OracleMTSService
n
に関連付けられた、次の表に示すような様々なパラメータおよび値が表示されます。
ORAMTS_ORADB
は、OraMTSのネット・サービス名で、Oracle Databaseへの接続に使用されます。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
OraMTSが接続に使用しているのと同じユーザー名およびネット・サービス名でOracle Databaseに接続します。
CONNECT as username/password@net_service_name
net_service_name
は、データベースに接続するネット・サービス名です。パスワードは暗号化された形式でレジストリに格納されます。SQL*Plusで接続するときは、プレーン・テキストのパスワードを使用します。
次のデータベース情報をチェックして、OraMTSの接続先と同じOracle Databaseであることを確認します。
SQL> SELECT NAME, DBID FROM V$DATABASE;
NAME
の値がレジストリORAMTS_DBNAME
の値と一致するかどうか、およびDBID
の値がORAMTS_DBID
の値と一致するかどうかを確認します。
サービス情報をチェックします。
SQL> SELECT RMGUID FROM mts_proxy_info;
RMGUID
の値がレジストリのORAMTS_RMGUID
の値と一致することを確認します。
すべての値が一致する場合にのみ、次に進んでください。
一致しない値がある場合は、Oracle DatabaseがOraMTSの接続先と同じではありません。このまま次に進むと、データベースにインストールされたOraMTSで障害が発生します。これによって、データベースの一貫性が損われた状態になり、データベース管理者による操作が必要になることがあります。SQL*PlusおよびOraMTSが異なるデータベースに接続したのは、tnsnames.ora
ファイルが不一致なためです。
データベースに格納されているサービス情報を削除します。
SQL> DELETE FROM mts_proxy_info; SQL> COMMIT;
SQL*Plusを終了します。
SQL> EXIT
OracleMTSService
n
サービスを削除するには、次のようにします。
コンピュータを再起動します。
「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Application Development」→「Oracle Manager for Microsoft Transaction Server」を選択します。
Microsoft管理コンソールが表示されます。
「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。
OraMTSを右クリックします。
いくつかのオプションを含むメニューが表示されます。
「削除」をクリックします。
処理が正常に行われた場合は、OraMTSが削除されたことを示すメッセージが表示されます。
処理が正常に行われなかった場合は、OraMTSが削除されなかったことを示すメッセージが表示されます。この場合、レジストリを使用してサービスのレジストリ・エントリを削除します。HKEY_LOCAL_MACHINE
で、次のキーを削除します。
\System\CurrentControlSet\Services\OracleMTSService
n
n
はOraMTSの番号です。