4 プロトコル・アドレス構成
Oracle Databaseインスタンスとクライアントの接続を構成する方法を学習します。
ネットワーク・オブジェクトは、プロトコル・アドレスによって識別されます。接続が確立されると、クライアントと要求の受信者(リスナーまたはOracle Connection Manager)が同じプロトコル・アドレスで構成されます。クライアントは、このアドレスを使用して特定のネットワーク・オブジェクトの場所に接続要求を送信します。受信者は、このアドレスで要求をリスニングして、クライアントの情報と一致するアドレス情報に基づいて接続を許可します。
- プロトコル・アドレス
プロトコル・アドレスは、ADDRESS要素とADDRESS_LIST要素で構成されています。 - プロトコル・パラメータ
リスナーおよびOracle Connection Managerは、プロトコル・アドレスによって識別されます。 - 推奨ポート番号
クライアントとOracle Connection Managerの接続には、デフォルトのポート番号を使用することをお薦めします。 - ポート番号の制限
この手順を使用して、1から1024の範囲のシステム・ポート番号を使用するようにリスナーを構成します。
4.1 プロトコル・アドレス
プロトコル・アドレスは、ADDRESS要素とADDRESS_LIST要素で構成されています。
- ADDRESS
ADDRESSネットワーク・パラメータは、ADDRESS_LISTまたはDESCRIPTIONパラメータの下のプロトコル・アドレスを指定します。 - ADDRESS_LIST
ADDRESS_LISTネットワーク・パラメータは、共通の特性を持つプロトコル・アドレスの数を指定します。
親トピック: プロトコル・アドレス構成
4.1.1 ADDRESS
ADDRESSネットワーク・パラメータは、ADDRESS_LISTまたはDESCRIPTIONパラメータの下のプロトコル・アドレスを指定します。
用途
プロトコル・アドレスを定義します。
使用上のノート
このパラメータは、ADDRESS_LISTパラメータまたはDESCRIPTIONパラメータの下に配置します。DESCRIPTIONは、tnsnames.oraファイルまたはlistener.oraファイルで使用されます。
例
(ADDRESS=
(PROTOCOL=tcp)
(HOST=sales-server)
(PORT=1521))4.1.2 ADDRESS_LIST
ADDRESS_LISTネットワーク・パラメータは、共通の特性を持つプロトコル・アドレスの数を指定します。
用途
共通の特性を共有するプロトコル・アドレスのリストを定義します。
使用上のノート
複数のアドレスを指定する場合、このパラメータは必須ではありません。
例
(ADDRESS_LIST=
(LOAD_BALANCE=on)
(ADDRESS=
(PROTOCOL=tcp)
(HOST=sales-server)
(PORT=1521))
(ADDRESS=
(PROTOCOL=tcp)
(HOST=hr-server)
(PORT=1521)))親トピック: プロトコル・アドレス
4.2 プロトコル・パラメータ
リスナーおよびOracle Connection Managerは、プロトコル・アドレスによって識別されます。
次の表に、Oracleプロトコル・サポートで使用するパラメータのリストを示します。
表4-1 プロトコル固有のパラメータ
| プロトコル | パラメータ | 説明 |
|---|---|---|
|
IPC |
PROTOCOL |
ipcを値として指定します。
|
|
IPC |
KEYPATH |
各種UNIXでは、IPCプロトコルはUNIXドメイン・ソケットを使用します。このソケットは、クライアントとサーバーの通信用に内部ファイルを作成します。パラメータ |
|
IPC |
KEY |
サービスの一意の名前を指定します。サービス名またはサービスのOracleシステム識別子(SID)を使用することをお薦めします。 例: (PROTOCOL=ipc)(KEY=sales) |
|
名前付きパイプ |
PROTOCOL |
|
|
名前付きパイプ |
SERVER |
Oracleサーバー名を指定します。 |
|
名前付きパイプ |
PIPE |
データベース・サーバーへの接続に使用されるパイプ名を指定します。これは、Named Pipesによってサーバーで指定したものと同じ 例: (PROTOCOL=nmp)(SERVER=sales)(PIPE=dbpipe0) |
|
SDP |
PROTOCOL |
|
|
SDP |
HOST |
コンピュータのホスト名またはIPアドレスを指定します。 |
|
SDP |
PORT |
リスニング・ポート番号を指定します。 例: (PROTOCOL=sdp)(HOST=sales-server) |
|
TCP/IP |
PROTOCOL |
|
|
TCP/IP |
HOST |
コンピュータのホスト名またはIPアドレスを指定します。 |
|
TCP/IP |
PORT |
リスニング・ポート番号を指定します。 例: (PROTOCOL=tcp)(HOST=sales-server) |
|
TLS付きTCP/IP |
PROTOCOL |
|
|
TLS付きTCP/IP |
HOST |
コンピュータのホスト名またはIPアドレスを指定します。 |
|
TLS付きTCP/IP |
PORT |
リスニング・ポート番号を指定します。 例: (PROTOCOL=tcps)(HOST=sales-server) |
|
Exadirect |
PROTOCOL |
値に |
|
Exadirect |
HOST |
インフィニバンド・インタフェースのIPアドレスを指定します。 |
|
Exadirect |
PORT |
リスニング・ポート番号を指定します。 例: (PROTOCOL=exadirect)(HOST=sales-server) |
|
Websocket |
PROTOCOL |
値として |
|
Websocket |
HOST |
コンピュータのホスト名またはIPアドレスを指定します。 |
|
Websocket |
PORT |
リスニング・ポート番号を指定します。 例: (protocol=ws)(host=sales-server)(port=1524) |
|
セキュアなWebSocket |
PROTOCOL |
値として Webサーバーでのマッピングに |
|
セキュアなWebSocket |
HOST |
websocketをサポートするWebサーバーのホスト名またはIPアドレスを指定します。 |
|
セキュアなWebSocket |
PORT |
リスニング・ポート番号を指定します。 例: (protocol=wss)(host=sales-server)(port=1524) |
親トピック: プロトコル・アドレス構成
4.3 お薦めするポート番号
クライアントとOracle Connection Managerの接続には、デフォルトのポート番号を使用することをお薦めします。
表4-2 お薦めするポート番号
| ポート | 説明 |
|---|---|
|
1521 |
クライアントがリスナーに接続するためのデフォルトのリスニング・ポートです。 このポート番号は、公式の登録ポート番号(TCP/IPの場合は2483番、TLS付きTCP/IPの場合は2484番)に変更される可能性があります。 |
|
1521 |
クライアントがOracle Connection Managerに接続する際の、デフォルトで公式登録のリスニング・ポートです。 |
|
1830 |
管理コマンドがOracle Connection Managerに接続する際の、デフォルトで公式登録のリスニング・ポートです。 |
親トピック: プロトコル・アドレス構成
4.4 ポート番号の制限
この手順を使用して、1から1024の範囲のシステム・ポート番号を使用するようにリスナーを構成します。
Oracleは、1から65535のポート番号に対応しています。ただし、一般にポート番号1024未満は予約されています。権限が付与されたプロセスのみが、1024未満のポートでTCP接続をリスニングできます。
1024未満のポート番号でリスニングするようにリスナーを構成するには、次の手順を完了します。
ノート:
この手順はガイドラインです。使用するオペレーティング・システムによっては、別の手順が必要になることがあります。
-
Oracle Net Configuration AssistantまたはOracle Net Managerを使用して、プロトコル・アドレスおよびその他の構成パラメータでリスナーを構成します。
-
リスナーのあるマシンで
rootユーザーとしてログインします。 -
リスナーの実行可能ファイル(
tnslsnr)および依存共有ライブラリのファイル所有権とアクセス許可を設定し、rootユーザーのみがこれらのファイルを変更できるようにします。 -
rootディレクトリ以下で、これらのファイルへのパス名に含まれる個々のディレクトリの権限が、同じ所有権とアクセス権を共有していることを確認します。 -
rootユーザーとしてリスナーを起動します。 -
プロンプトに対して、次のコマンドを入力します:
tnslsnr listener_name -user user -group groupこのコマンドで使用されているオプションは、次のとおりです。
表4-3 tnslsnrユーティリティのオプション
オプション 説明 listener_name 構成するリスナーの名前を指定します。省略すると、デフォルト名の
LISTENERが使用されます。user スーパーユーザー(
root)の権限が必要ない場合に、リスナーに使用させる権限を持つユーザーを指定します。権限が必要な操作を実行した後、リスナーはroot権限を永遠に放棄し元に戻すことはできません。group スーパーユーザー(
root)のグループ権限が必要ない場合に、リスナーに使用させる権限を持つグループを指定します。権限が必要な操作を実行した後、リスナーはrootグループ権限を永遠に放棄し元に戻すことはできません。このステップの間に、リスナーが
rootから、指定したユーザーおよびグループ権限に変更されます。すべての操作は指定したユーザー権限またはグループ権限で実行されます(ただし、構成したエンドポイントのリスニングが必要なシステム・コールを除きます)。リスナーはrootユーザーに戻って予約済アドレス(1024未満のTCPポート番号など)をリスニングします。listener.oraファイルで構成されたすべてのエンドポイントのリスニングを開始した後、リスナーは指定されたユーザーおよびグループに切り替わったままになります。この時点で、リスナーは最初に所有していたroot権限を放棄します。-userおよび-groupコマンドライン引数は、数値形式で指定されているユーザーおよびグループ識別子のみを受け入れます。たとえば、
mylsnrというリスナーをroot権限で実行し、ユーザーID (UID)が37555、グループ識別子(GID)が16、OSDBAグループdbaメンバーシップのOracleユーザーの権限を使用するには、プロンプトで次のコマンドを入力します。tnslsnr mylsnr -user 37555 -group 16 -
リスナーの起動後は、リスナー制御ユーティリティを使用してリスナーを管理できます。
注意:
-
リスナー・プロセスを実行する権限を持つユーザーは、
oracleユーザーまたはオペレーティング・システム上で通常リスナー・プロセスを実行するユーザーを使用することをお薦めします。 -
リスナー・プロセスを
rootユーザーとして実行したままにしないでください。スーパーユーザーとしてプロセスを実行することは、セキュリティの危険があります。
-
親トピック: プロトコル・アドレス構成