ヘッダーをスキップ

Oracle Databaseプラットフォーム・ガイド 11gリリース1（11.1） for Microsoft Windows E05885-05 |
| 目次 | 索引

戻る | 次へ |

# B WindowsでのOracle Net Servicesの構成

この付録では、WindowsでのOracle Net Servicesの構成について説明します。Oracle Net Servicesの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

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

- ASMと通信するためのOracle Databaseの構成

- Oracle Net Servicesのレジストリ・パラメータおよびサブキーについて

- リスナー要件

- オプションの構成パラメータについて

- 詳細ネットワーク構成

## ASMと通信するためのOracle Databaseの構成

自動ストレージ管理（ASM）を使用するOracle Database for Windowsインストール環境では、デフォルトで有効になっているWindows固有の認証を使用する必要があります。この認証を使用していることを確認するには、デフォルトで`ORACLE_BASE``\``ORACLE_HOME``\network\admin`にある`sqlnet.ora`ファイルでNTSが有効になっていることを確認します。次に例を示します。

    sqlnet.authentication_services=(NTS)

関連項目: 「Windowsの認証プロトコル」

## Oracle Net Servicesのレジストリ・パラメータおよびサブキーについて

レジストリには、Oracle Net Servicesのパラメータおよびサブキーのエントリが含まれます。Oracle Net Servicesの構成パラメータを正常に追加または変更するには、そのパラメータの場所および適用される規則を理解する必要があります。

### Oracle Net Servicesのサブキー

サービスに対応するサブキーは、`\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`に含まれます。インストールされた製品に応じて、Oracle Net Servicesは次のうちのすべてまたは一部で構成されます。

- `Oracle` `HOME_NAME` `ClientCache`

- `Oracle` `HOME_NAME` `CMAdmin`

- `Oracle` `HOME_NAME` `CMan`

- `Oracle` `HOME_NAME` `TNSListener`

各サービスのサブキーには、表B-1に示すパラメータが含まれます。

表B-1 サービス・サブキー・パラメータ

パラメータ | 説明
--- | ---
`DisplayName` | サービス名を指定します。
`ImagePath` | サービスにより実行される実行可能ファイルの完全修飾パス名、および実行時に実行可能ファイルに渡されるコマンドライン引数を指定します。
`ObjectName` | ログオン・ユーザー・アカウント、およびサービスがログオンする必要のあるコンピュータを指定します。

## リスナー要件

Oracle Database 10gリリース1（10.1）以上では、リスナーはシステムの再起動時に自動的に起動するように設定されています。すべてのデータベースでそのリスナーのみを使用する場合は、コントロール パネルに表示されている、そのリスナーのWindowsサービスのみが自動的に開始するよう設定してください。

通常Windowsコンピュータで稼働するネット・リスナー・サービスは、常に1つのみにするようお薦めします。この単一のリスナーで複数のデータベースをサポートできます。2つの異なるネット・リスナー・サービスをWindowsコンピュータ上で同時に稼働させる必要がある場合は、それらが異なるTCP/IPポート番号でリスニングするよう設定してください。

同じIPアドレスおよびポートを異なるリスナーに使用した場合でも、2番目以降のリスナーにバインドの障害は発生しません。Windowsでは、すべてのリスナーが同じIPアドレスおよびポートでリスニングでき、その結果、リスナーは予期せぬ動作をします。これは、Windowsオペレーティング・システムにおけるTCP/IP上の問題である可能性が高く、Microsoft社に報告されました。

## オプションの構成パラメータについて

Windowsでは、次のパラメータを使用できます。

- LOCAL

- TNS_ADMIN

- USE_SHARED_SOCKET

Oracle Net Servicesでは、最初に環境変数としてパラメータをチェックし、その定義された値を使用します。環境変数が定義されていない場合は、レジストリでこれらのパラメータが検索されます。

### LOCAL

パラメータ`LOCAL`を使用すると、接続文字列に接続識別子を指定しなくても、Oracle Databaseに接続できます。パラメータ`LOCAL`の値は、ネット・サービス名などの接続識別子です。たとえば、パラメータ`LOCAL`が`finance`として指定されている場合、SQL*Plusから次のコマンドを使用してデータベースに接続できます。

    SQL> CONNECT SCOTT
    Enter password: password

次のコマンドは使用しません。

    SQL> CONNECT SCOTT@finance
    Enter password: password

Oracle Net Servicesでは、`LOCAL`が環境変数またはパラメータとしてレジストリに定義されているかをチェックし、`finance`をサービス名として使用します。このパラメータが存在する場合、Oracle Net Servicesは接続します。

### TNS_ADMIN

パラメータ`TNS_ADMIN`を追加すると、Oracle Net Services構成ファイルのディレクトリ・パスをデフォルトの場所`ORACLE_HOME``\network\admin`から変更できます。たとえば、`TNS_ADMIN`を`ORACLE_BASE``\``ORACLE_HOME``\test\admin`に設定すると、構成ファイルは`ORACLE_BASE``\``ORACLE_HOME``\test\admin`から使用されます。

### USE_SHARED_SOCKET

パラメータ`USE_SHARED_SOCKET`を`true`に設定すると、共有ソケットの使用が可能になります。このパラメータが`true`に設定されている場合、ネットワーク・リスナーにより、クライアント接続のソケット記述子がデータベース・スレッドに渡されます。その結果、クライアントではデータベース・スレッドに対する新規の接続を確立する必要がなくなり、データベース接続時間が短縮されます。また、すべてのデータベース接続が、ネットワーク・リスナーにより使用されるポート番号を共有するため、サード・パーティのプロキシ・サーバーを設定している場合に役立ちます。

このパラメータは、TCP/IP環境の専用サーバー・モードでのみ機能します。このパラメータが設定されている場合、Oracle Databaseリスナーを使用して、Oracle7リリース7.xデータベースを起動することはできません。リスナーとは異なるOracleホームと関連付けられているOracle Databaseのインスタンスの専用サーバーを起動し、共有ソケットを使用できるようにするには、両方のOracleホームでパラメータ`USE_SHARED_SOCKET`を設定する必要があります。

## 詳細ネットワーク構成

次の項では、Windowsオペレーティング・システムにおけるOracle Net Services専用の詳細な構成手順について説明します。

### 認証方式の構成

Oracle Net Servicesでは、Windows認証を使用する、Windowsオペレーティング・システムの認証方式を提供しています。

### Named Pipesプロトコルのセキュリティ構成

サービス`Oracle` `HOME_NAME` `TNSListener`に有効なユーザーIDおよびパスワードがない場合、ネットワーク・リスナー・サービスはOracle Namesにより作成されたNamed Pipesを開けない可能性があります。

関連項目: ネットワーク・リスナー権限を設定する方法は、オペレーティング・システムのドキュメントを参照

### 高度なセキュリティのための外部プロシージャ構成の変更

この項では、外部プロシージャのみを処理するようにWindowsオペレーティング・システム上のリスナーを構成するため、『Oracle Database Net Services管理者ガイド』に記載されている一般情報を補足します。セキュリティ・レベルを高めるには、`oracle`ユーザーよりも低い権限を持つユーザー・アカウントから外部プロシージャのリスナーを起動します。Windowsオペレーティング・システムの場合、これにはユーザー・アカウントをLocalSystemから`OracleHOME_NAMETNSListener` `extproc_listener_name`サービスの権限のないローカル・ユーザーに変更する必要があります。

注意: 次の手順は、『Oracle Database Net Services管理者ガイド』の高度なセキュリティのための外部プロシージャ構成の変更に関する項の手順1〜5を実行したことを前提としています。

リスナー・アカウントを変更するには、次のようにします。

1. 新規ユーザー・アカウントを作成し、「サービスとしてログオン」権限を付与します。

   注意: このユーザー・アカウントに、`oracle`が所有しているファイルへの一般アクセス権がないことを確認してください。具体的には、このユーザーはデータベース・ファイルまたはOracle Databaseサーバー・アドレス空間への読取り/書込み権限を持つことができません。また、このユーザーは、`listener.ora`ファイルへの読取りアクセス権を持つ必要がありますが、書込みアクセス権は持つことはできません。

2. `OracleHOME_NAMETNSListener` `extproc_listener_name`サービスを停止します。

   関連項目: 「サービス」ダイアログへのアクセスとサービスの停止の方法は、オペレーティング・システムのドキュメントを参照

   注意: `OracleHOME_NAMETNSListener` `extproc_listener_name`サービスが存在しない場合は、コマンド・プロンプトから次のコマンドを実行します。
       lsnrctl start extproc_listener_name
   これにより、`OracleHOME_NAMETNSListener` `extproc_listener_name`サービスが作成されます。サービスのリストに戻ったら、このサービスを停止してから次の手順に進みます。

3. 「サービス」ダイアログで`OracleHOME_NAMETNSListener` `extproc_listener_name`サービスを選択し、サービスのプロパティを表示します。

4. 「アカウント」を選択し、ユーザー名とパスワードを入力します。

5. 「開始」をクリックしてリスナーを起動します。権限のないローカル・ユーザーとして実行しているリスナーの起動に、リスナー制御ユーティリティを使用することはできないため、この方法でリスナーを起動する必要があります。

   注意: `NET START OracleHOME_NAMETNSListener` `extproc_listener_name`を使用してコマンド・プロンプトからリスナーを起動することもできます。低い権限でリスナーを実行すると、リスナー制御ユーティリティの`SET`コマンドを使用して、ファイル`listener.ora`のこのリスナーの構成を変更することはできません。リスナー制御ユーティリティを使用して、このリスナーに対してリスナーの停止などの他の管理タスクを実行できます。リスナーを実行する前に、`listener.ora`ファイル構成を完了することをお薦めします。