ヘッダーをスキップ
Oracle Services for Microsoft Transaction Server開発者ガイド
11gリリース1(11.1) for Microsoft Windows
E05793-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 Oracle製品のインストールおよび移行

この章では、Microsoft Transaction ServerおよびOracle Databaseの環境におけるインストールおよび移行の要件について説明します。

この章の項目は次のとおりです。

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

OraMTSをインストールするには、Oracle Databaseのインストール時に、「カスタム」インストール・タイプを選択します。

この項では、OraMTS用にインストールが必要なOracle製品およびOracle以外の製品について説明します。その他のインストール要件は次のとおりです。

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

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

2.1.1.1 Oracle製品


注意:

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

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


2.1.1.2 Oracle以外の製品

  • Microsoft Transaction Serverバージョン2.0以上

  • Windowsオペレーティング・システム

  • 正常に機能するネットワーク・プロトコル・ソフトウェア

  • COM+またはEnterprise Services(Microsoft Transaction Serverの後継となるモジュール)

2.1.2 Oracle Databaseのインストール要件

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

2.1.2.1 Oracle製品

  • Oracle Server(Oracle Database)サーバー用のOracle Net Services

  • SQL*Plus

2.1.2.2 Oracle以外の製品

  • 正常に機能するネットワーク・プロトコル


関連資料:

Oracle Databaseのインストレーション・ガイド

2.2 Oracle Services for Microsoft Transaction Serverのアップグレード

Oracle Services for Microsoft Transaction Serverをアンインストールする前に、Microsoft管理コンソールのOracle Manager for MTS Servicesスナップインを使用して、既存のOraMTSを削除する必要があります。手順は次のとおりです。

  1. Oracle Manager for MTS Servicesスナップインを使用してOraMTSを削除します。

    または、データベースをすでに削除済の場合は、レジストリからこのサービスを削除します。

  2. 削除したOraMTSに関連付けられているユーザーのロールおよび権限を削除します。

  3. Microsoft Transaction ServerがインストールされているWindowsコンピュータから、Oracle Services for Microsoft Transaction Serverをアンインストールします。

  4. リリース11.1のOO4O、Oracle Provider for OLE DB、Oracle ODBCドライバまたはOCIを使用してComponent Object Model(COM)コンポーネントを作成する予定の場合、その製品をインストールします。

  5. Oracle Services for Microsoft Transaction Serverリリース11.1を、1つのOracleホームにインストールします。Oracle MTS Recovery Serviceが自動的にインストールされます。

  6. Microsoft Transaction Server管理者ユーザー・アカウントを作成します。

  7. Microsoft Transaction Serverトランザクションに登録するすべてのデータベースに対して、Microsoft Transaction Serverトランザクション・リカバリ・ジョブをスケジューリングします。

手順1と2については、この項で詳しく説明します。手順3から5については、Oracle Databaseのインストレーション・ガイドを参照してください。手順6と7については、第3章「リカバリのシナリオ管理」を参照してください。

2.2.1 Oracle Manager for MTS Servicesを使用したOraMTSの削除

OraMTSを削除するには、Microsoft管理コンソールのOracle Manager for MTS Servicesスナップインを使用する必要があります。それ以外の方法で(たとえばキーボードの[Del]キーを押して)OraMTSを削除すると、データベースのデータの一貫性が損われます。データの一貫性が損われた場合、正常に完了またはリカバリしなかったトランザクションを、データベース管理者が手動でコミットするか異常終了する必要があります。OraMTSを削除する前に、次の手順を実行してすべてのトランザクションを必ず解決してください。

2.2.1.1 OraMTSの停止

  1. OraMTSを削除するコンピュータにログオンします。削除する前に、OraMTSを操作する必要があります。OraMTSは、このコンピュータで実行されていても、このコンピュータからアクセスできるリモート・コンピュータで実行されていてもかまいません。

  2. 「スタート」「プログラム」「Oracle - HOME_NAME「Application Development」「Oracle Manager for Microsoft Transaction Server」を選択します。

    Microsoft管理コンソールが表示されます。

  3. 「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。

  4. 削除するOraMTSのアイコンを右クリックします。この例では「MTSDEMO」です。

    図2-1 Microsoft管理コンソール

    図2-1の説明が続きます
    図2-1「Microsoft管理コンソール」の説明

    いくつかのオプションを含むメニューが表示されます。

  5. 「サービス停止」を選択します。

    OraMTSが停止したことを示すメッセージが表示されます。

  6. 「OK」をクリックします。

2.2.1.2 データベースの停止および再起動

データベースを停止してから再起動するには、次のようにします。

  1. Oracle Databaseが稼働しているコンピュータにログオンします。

  2. SQL*Plusを起動します。

    C:\> sqlplus /NOLOG
    
  3. データベースにSYSDBAとして接続します。

    SQL> CONNECT / AS SYSDBA
    
  4. Oracle Databaseを停止します。

    SQL> SHUTDOWN
    
  5. Oracle Databaseを再起動します。

    SQL> STARTUP
    
  6. SQL*Plusを終了します。

    SQL> EXIT
    

2.2.1.3 OraMTSの再起動

OraMTSを再起動するには、次のようにします。

  1. OraMTSを修正したコンピュータで、「スタート」「プログラム」「Oracle - HOME_NAME「Application Development」「Oracle Manager for Microsoft Transaction Server」を選択します。

    Microsoft管理コンソールが表示されます。

  2. 「エクスプローラ」ウィンドウで、起動するOraMTSを見つけます。

  3. OraMTSのアイコンを右クリックします。

    いくつかのオプションを含むメニューが表示されます。

  4. 「サービス 開始」を選択します。

    OraMTSが開始したことを示すメッセージが表示されます。

  5. 「OK」をクリックします。

2.2.1.4 OraMTSのトレース・ファイルの監視

OraMTSのトレース・ファイルを監視するには、次のようにします。

  1. 新しいトランザクションがOraMTSを使用しないようにします。

  2. ORACLE_BASE\ORACLE_HOME\oramts\traceにあるOraMTSトレース・ファイルで監視します。このファイルには、リカバリが正常に完了したことを示す次のメッセージが書き込まれます。

    2515156: [2096] OracleMTSService - Accepting new enlistment requests.
    

    メッセージ2515156が表示されたら、Microsoft管理コンソールでOraMTSのアイコンを右クリックします。

  3. 「サービス 停止」を選択します。

    OraMTSが停止したことを示すメッセージが表示されます。

  4. 「OK」をクリックします。

2.2.1.5 OraMTS表の削除

OraMTS表を削除するには、次のようにします。

  1. Oracle Databaseが稼働しているコンピュータにログオンします。

  2. SQL*Plusを起動します。

    C:\> sqlplus /NOLOG
    
  3. データベースにSYSDBAとして接続します。

    SQL> CONNECT / AS SYSDBA
    
  4. mts_proxy_info表からこの情報を削除します。

    SQL> DROP TABLE mtsadmin_username.mts_proxy_info;
    

    mtsadmin_usernameはOraMTSのユーザー(mtssysなど)です。

    SQL> COMMIT;
    

2.2.1.6 OraMTSの削除

OraMTSを削除するには、次のようにします。

  1. OraMTSを削除するコンピュータで、「スタート」「プログラム」「Oracle - HOME_NAME「Application Development」「Oracle Manager for Microsoft Transaction Server」を選択します。

    Microsoft管理コンソールが表示されます。

  2. 「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。

  3. OraMTSのアイコンを右クリックします。

    いくつかのオプションを含むメニューが表示されます。

  4. 「削除」を選択します。

  5. OraMTSが正常に削除されたことを示すメッセージが表示された場合、「OraMTSの非アクティブ・ユーザーのロールおよび権限の削除」を参照してください。

    OraMTSが正常に削除されなかった場合は、「Oracle Services for Microsoft Transaction Serverの手動削除」を参照してください。

2.3 OraMTSの非アクティブ・ユーザーのロールおよび権限の削除

OraMTSの不要になったユーザーや、サービスを削除したユーザーに割り当てられているロールおよび権限は必ず削除します。

OraMTSの非アクティブ・ユーザーのロールおよび権限を削除するには、次のようにします。

  1. ORACLE_BASE\ORACLE_HOME\oramts\adminに移動します。

  2. ファイルrevokeuser.sqlをテキスト・エディタで開きます。

  3. mts_userを、ロールおよび権限を無効にするユーザー名に置き換えます。

    このスクリプトでは、ユーザー名mtssysおよびパスワードmtssysを使用しています。パスワードを変更した場合や、mtssys以外のOraMTSユーザー名を使用している場合は、正しいユーザー名およびパスワードに置き換える必要があります。

  4. 変更内容を保存してrevokeuser.sqlを閉じます。

  5. SQL*Plusを起動します。

    C:\> sqlplus /NOLOG
    
  6. データベースにSYSDBAとして接続します。

    SQL> CONNECT / AS SYSDBA
    
  7. 変更したスクリプトを実行します。

    SQL> @ORACLE_BASE\ORACLE_HOME\oramts\admin\revokeuser.sql;
    

    ユーザーのロールおよび権限が削除されます。

  8. SQL*Plusを終了します。

    SQL> EXIT
    

    関連資料:

    最新リリースのOracle Services for Microsoft Transaction Serverのインストール方法は、Oracle Databaseのインストレーション・ガイドを参照してください。

2.4 Oracle Services for Microsoft Transaction Serverの手動削除

OraMTSを削除する前に、接続しているOracle Databaseへの連結を完全に解除する必要があります。この連結解除が失敗する場合があります。次の場合にのみ、この項の手順に従ってください。

次の3つの状況では、Microsoft管理コンソールのOracle Manager for MTS ServicesスナップインはOraMTSの削除または変更に失敗する可能性があります。

  1. レジストリの情報を使用して、Oracle Manager for MTS ServicesスナップインからOracle Databaseに接続できない。

    Oracle Databaseとそのリスナーが起動していることを確認します。SQL*Plusなどのツールを使用して、Oracle Databaseが新しい接続を受け入れているかどうかを確認します。

  2. 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ファイルのエントリが、同じデータベース・インスタンスを指定するようにします。

  3. Oracle Manager for MTS ServicesスナップインからOracle Databaseに格納されているサービス情報を削除できない。

    Oracle Databaseが不安定もしくは正常に動作していない可能性があります。データベース・プロセスの障害を示すデータベース・トレース・ファイルが作成されていないかどうか確認します。トレース・ファイルは、ORACLE_BASE\ORACLE_HOME\oramts\traceにあります。

2.4.1 レジストリを使用したOracle Services for Microsoft Transaction Serverの手動削除

レジストリを使用してOraMTSを手動で削除するには、次のようにします。

  1. コマンド・プロンプトからレジストリ エディタを起動します。

    C:\> regedt32
    

    「レジストリ エディタ」ウィンドウが表示されます。

  2. HKEY_LOCAL_MACHINEを選択します。

    System\CurrentControlSet\Services\OracleMTSServicenに移動します。

    nはOraMTSの番号です。

    ウィンドウの右側には、OracleMTSServicenに関連付けられた、次の表に示すような様々なパラメータおよび値が表示されます。

    • ORAMTS_SUNAMEは、OraMTSユーザー名です。

    • ORAMTS_SUPWDはOraMTSユーザー名に対するパスワードで、レジストリでは暗号化されます。

    • ORAMTS_OCI_OBJ_MODEは、オブジェクト・モードまたはスレッド・モードでOCIを初期化します。

    • ORAMTS_ORADBは、OraMTSのネット・サービス名で、Oracle Databaseへの接続に使用されます。

  3. SQL*Plusを起動します。

    C:\> sqlplus /NOLOG
    
  4. OraMTSが接続に使用しているのと同じユーザー名およびネット・サービス名でOracle Databaseに接続します。

    CONNECT as username/password@net_service_name
    

    net_service_nameは、データベースに接続するネット・サービス名です。パスワードは暗号化された形式でレジストリに格納されます。SQL*Plusで接続するときは、プレーン・テキストのパスワードを使用します。

  5. 次のデータベース情報をチェックして、OraMTSの接続先と同じOracle Databaseであることを確認します。

    SQL> SELECT NAME, DBID FROM V$DATABASE;
    
  6. NAMEの値がレジストリORAMTS_DBNAMEの値と一致するかどうか、およびDBIDの値がORAMTS_DBIDの値と一致するかどうかを確認します。

  7. サービス情報をチェックします。

    SQL> SELECT RMGUID FROM mts_proxy_info;
    
  8. RMGUIDの値がレジストリのORAMTS_RMGUIDの値と一致することを確認します。

  9. すべての値が一致する場合にのみ、次に進んでください。

    一致しない値がある場合は、Oracle DatabaseがOraMTSの接続先と同じではありません。このまま次に進むと、データベースにインストールされたOraMTSで障害が発生します。これによって、データベースの一貫性が損われた状態になり、データベース管理者による操作が必要になることがあります。SQL*PlusおよびOraMTSが異なるデータベースに接続したのは、tnsnames.oraファイルが不一致なためです。

  10. データベースに格納されているサービス情報を削除します。

    SQL> DELETE FROM mts_proxy_info;
    SQL> COMMIT;
    
  11. SQL*Plusを終了します。

    SQL> EXIT
    

2.4.2 OracleMTSServicenサービスの削除

OracleMTSServicenサービスを削除するには、次のようにします。

  1. コンピュータを再起動します。

  2. 「スタート」「プログラム」「Oracle - HOME_NAME「Application Development」「Oracle Manager for Microsoft Transaction Server」を選択します。

    Microsoft管理コンソールが表示されます。

  3. 「エクスプローラ」ウィンドウで、削除するOraMTSを見つけます。

  4. OraMTSを右クリックします。

    いくつかのオプションを含むメニューが表示されます。

  5. 「削除」をクリックします。

    処理が正常に行われた場合は、OraMTSが削除されたことを示すメッセージが表示されます。

    処理が正常に行われなかった場合は、OraMTSが削除されなかったことを示すメッセージが表示されます。この場合、レジストリを使用してサービスのレジストリ・エントリを削除します。HKEY_LOCAL_MACHINEで、次のキーを削除します。

    \System\CurrentControlSet\Services\OracleMTSServicen

    nはOraMTSの番号です。

    「OraMTSの非アクティブ・ユーザーのロールおよび権限の削除」に移動します。