この付録では、WindowsでのOracle Net Servicesの構成について説明します。Oracle Net Servicesの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
この付録の項目は次のとおりです。
自動ストレージ管理(ASM)を使用するOracle Database for Windowsインストール環境では、デフォルトで有効になっているWindows固有の認証を使用する必要があります。この認証を使用していることを確認するには、デフォルトでORACLE_HOME
\network\admin
にあるsqlnet.ora
ファイルでNTSが有効になっていることを確認します。次に例を示します。
sqlnet.authentication_services=(NTS)
レジストリには、Oracle Net Servicesのパラメータおよびサブキーのエントリが含まれます。Oracle Net Servicesの構成パラメータを正常に追加または変更するには、そのパラメータの場所および適用される規則を理解する必要があります。
サービスに対応するサブキーは、\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
に含まれます。インストールされた製品に応じて、Oracle Net Servicesは次のうちのすべてまたは一部で構成されます。
各サービスのサブキーには、表C-1に示すパラメータが含まれます。
Oracle Database 10gリリース1(10.1)以上では、リスナーはシステムの再起動時に自動的に起動するように設定されています。すべてのデータベースでそのリスナーのみを使用する場合は、コントロール パネルに表示されている、そのリスナーのWindowsサービスのみが自動的に開始するよう設定してください。
通常Windowsコンピュータ上のネット・リスナー・サービスは、常に1つのみにするようお薦めします。この単一のリスナーで複数のデータベースをサポートできます。2つの異なるネット・リスナー・サービスを1台のWindowsコンピュータで同時に使用する必要がある場合は、それらが異なるTCP/IPポート番号でリスニングするよう設定してください。
同じIPアドレスおよびポートを異なるリスナーに使用した場合でも、2番目以降のリスナーにバインドの障害は発生しません。Windowsでは、すべてのリスナーが同じIPアドレスおよびポートでリスニングでき、その結果、リスナーは予期せぬ動作をします。これは、Windowsオペレーティング・システムにおけるTCP/IP上の問題である可能性が高く、Microsoft社に報告されました。
Windowsでは、次のパラメータを使用できます。
Oracle Net Servicesでは、最初に環境変数としてパラメータをチェックし、その定義された値を使用します。環境変数が定義されていない場合は、レジストリでこれらのパラメータが検索されます。
パラメータ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
を追加すると、Oracle Net Services構成ファイルのディレクトリ・パスをデフォルトの場所ORACLE_HOME
\network\admin
から変更できます。たとえば、TNS_ADMIN
をORACLE_HOME
\test\admin
に設定すると、構成ファイルはORACLE_HOME
\test\admin
から使用されます。
共有ソケットの使用はデフォルトで有効です。つまり、USE_SHARED_SOCKET
の値はデフォルトでtrue
になっています。この場合は、ネットワーク・リスナーにより、クライアント接続のソケット記述子がデータベース・スレッドに渡されます。その結果、クライアントはデータベース・スレッドへの新しい接続を確立しないため、データベース接続時間が改善されます。すべてのデータベース接続も、ネットワーク・リスナーにより使用されるポート番号を共有するため、サード・パーティのプロキシ・サーバーを設定している場合に役立ちます。
このパラメータは、TCP/IP環境の専用サーバー・モードでのみ機能します。共有ソケットを有効にしたままで、リスナーとは異なるOracleホームと関連付けられているOracle Databaseのインスタンスの専用サーバーを用意するには、両方のOracleホーム用にUSE_SHARED_SOCKET
パラメータを設定する必要があります。
注意: Oracleサポートから指示がないかぎり、このパラメータをレジストリに明示的に設定しないでください。USE_SHARED_SOCKET をfalse に設定すると、共有ソケットを使用できなくなります。 |
次の項では、Windowsオペレーティング・システムにおけるOracle Net Services専用の詳細な構成手順について説明します。
Oracle Net Servicesでは、Windows認証を使用する、Windowsオペレーティング・システムの認証方式を提供しています。
サービス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を実行したことを前提としています。 |
リスナー・アカウントを変更するには、次のようにします。
新規ユーザー・アカウントを作成し、「サービスとしてログオン」権限を付与します。
注意: このユーザー・アカウントに、oracle が所有しているファイルへの一般アクセス権がないことを確認してください。具体的には、このユーザーはデータベース・ファイルまたはOracle Databaseサーバー・アドレス空間への読取り/書込み権限を持つことができません。また、このユーザーは、listener.ora ファイルへの読取りアクセス権を持つ必要がありますが、書込みアクセス権は持つことはできません。 |
OracleHOME_NAMETNSListener
extproc_listener_name
サービスを停止します。
関連項目: 「サービス」ダイアログへのアクセスとサービスの停止の方法は、オペレーティング・システムのドキュメントを参照してください。 |
注意: OracleHOME_NAMETNSListener extproc_listener_name サービスが存在しない場合は、コマンド・プロンプトから次のコマンドを実行します。
lsnrctl start extproc_listener_name
これにより、 |
「サービス」ダイアログでOracleHOME_NAMETNSListener
extproc_listener_name
サービスを選択し、サービスのプロパティを表示します。
「アカウント」を選択し、ユーザー名とパスワードを入力します。
「開始」をクリックしてリスナーを起動します。リスナー制御ユーティリティを使用して権限のないローカル・ユーザーとしてリスナーを起動することはできないため、この方法でリスナーを起動する必要があります。
注意: コマンド・プロンプトでNET START OracleHOME_NAMETNSListener extproc_listener_name を使用してリスナーを起動することもできます。リスナーの権限を低く設定しておけば、リスナー制御ユーティリティのSET コマンドを使用してファイルlistener.ora 内のこのリスナーの構成を変更する必要はなくなります。リスナー制御ユーティリティを使用して、このリスナーに対してリスナーの停止などの他の管理タスクを実行できます。リスナーよりも前に、listener.ora ファイル構成を完了することをお薦めします。 |