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 |
|
|
IPC |
|
UNIX変数では、IPCプロトコルはUNIXドメイン・ソケットを使用し、このソケットはクライアント/サーバー通信用の内部ファイルを作成します。パラメータ |
IPC |
|
サービスの一意の名前を指定します。サービス名またはサービスのOracleシステム識別子(SID)を使用することをお薦めします。 例: (PROTOCOL=ipc)(KEY=sales) |
名前付きパイプ |
|
|
名前付きパイプ |
|
Oracleサーバーの名前を指定します。 |
名前付きパイプ |
|
データベース・サーバーへの接続に使用されるパイプ名を指定します。これは、Named Pipesでサーバーに指定したものと同じ 例: (PROTOCOL=nmp)(SERVER=sales)(PIPE=dbpipe0) |
SDP |
|
|
SDP |
|
コンピュータのホスト名またはIPアドレスを指定します。 |
SDP |
|
リスニング・ポート番号を指定します。 例: (PROTOCOL=sdp)(HOST=sales-server) |
TCP/IP |
|
|
TCP/IP |
|
コンピュータのホスト名またはIPアドレスを指定します。 |
TCP/IP |
|
リスニング・ポート番号を指定します。 例: (PROTOCOL=tcp)(HOST=sales-server) |
TLS付きTCP/IP |
|
|
TLS付きTCP/IP |
|
コンピュータのホスト名またはIPアドレスを指定します。 |
TLS付きTCP/IP |
|
リスニング・ポート番号を指定します。 例: (PROTOCOL=tcps)(HOST=sales-server) |
Exadirect |
|
値に |
Exadirect |
|
インフィニバンド・インタフェースのIPアドレスを指定します。 |
Exadirect |
|
リスニング・ポート番号を指定します。 例: (PROTOCOL=exadirect)(HOST=sales-server) |
Websocket |
|
値として |
Websocket |
|
コンピュータのホスト名またはIPアドレスを指定します。 |
Websocket |
|
リスニング・ポート番号を指定します。 例: (protocol=ws)(host=sales-server)(port=1524) |
セキュアなWebSocket |
|
値として Webサーバーでのマッピングに |
セキュアなWebSocket |
|
websocketをサポートするWebサーバーのホスト名またはIPアドレスを指定します。 |
セキュアなWebSocket |
|
リスニング・ポート番号を指定します。 例: (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
ユーザーに戻って予約済アドレス(1023以下のTCPポート)をリスニングします。listener.ora
ファイルに構成されているすべてのエンドポイントのリスニングを開始した後、リスナーは指定されたユーザーおよびグループに切り替わり、元に戻ることはありません。この時点で、リスナーは最初に所有していたroot
権限を放棄します。-user
および-group
コマンドライン引数は、数値形式で指定されているユーザーおよびグループ識別子のみを受け入れます。たとえば、
mylsnr
というリスナーをroot
権限で実行し、ユーザーID (UID)が37555
、OSDBAグループdba
メンバーシップが16、グループ識別子(GID)が16のOracleユーザーの権限を使用するには、オペレーティング・システムのプロンプトで次のコマンドを入力します。tnslsnr mylsnr -user 37555 -group 16
-
リスナーの起動後は、リスナー制御ユーティリティを使用してリスナーを管理できます。
注意:
-
リスナー・プロセスを実行する権限を持つユーザーは、
oracle
ユーザーまたはオペレーティング・システム上で通常リスナー・プロセスを実行するユーザーを使用することをお薦めします。 -
リスナー・プロセスを
root
ユーザーとして実行したままにしないでください。スーパーユーザーとしてプロセスを実行すると、セキュリティ面で脆弱です。
-
親トピック: プロトコル・アドレス構成