4.2 リスナー(LISTENER)プロセス

Oracleソフトウェアのインストールと同時に初期データベースを作成した場合、OUIによって、自動的にNetCA(Oracle Net Configuration Assistant)が起動され、TCP/IPリスニング・プロトコル・アドレスを含むリスナー(LISTENER)と呼ばれるプロセスがデータベースに対して構成される。

■リスナープロセスの役割

リスナープロセスは、データベースサーバ側で動作しているプロセスのこと。リスナーは、データベースサーバ側でクライアントからの接続要求を待ち続けている。接続要求を受信すると、その要求を目的のデータベースに転送する。

データベースが接続要求を承認すると、接続要求が転送されたクライアントとデータベースとの間で、接続が確立され、通信が可能な状態となる。

リスナーは、要求を転送後、再び接続要求を待つ(リスニングする)状態に戻る。クライアントとデータベースとの仲介役がリスナーである。

リスナーが起動していない場合は、クライアントからデータベースサーバへ接続することはできない。

■リスナーの制御

リスナーは、デフォルトでは自動起動するようになっていません。コンピュータの再起動時などにリスナーを起動したり、起動中のリスナーを停止したりするには、リスナー制御ユーティリティ(lsnrctl)を使用する。

■lsnrctlを使ったリスナーの起動

リスナーをコマンドで起動するには、リスナー制御ユーティリティ(lsnrctl)を使用して以下のコマンドを実行する。

▼リスナーの起動

lsnrctl start [リスナー名]

起動するリスナーが、デフォルトのリスナー名(LISTENER)という名前の場合は、リスナー名の指定は省略できる。

■lsnrctlを使ったリスナーの停止

リスナーをコマンドで停止するには、リスナー制御ユーティリティ(lsnrctl)を使用して以下のコマンドを実行する。

▼リスナーの停止

lsnrctl stop [リスナー名]

■lsnrctlを使ったリスナーの状態確認およびサービス確認

リスナー制御ユーティリティ(lsnrctl)を使用すると、リスナーの状態やサービスを確認できる。

▼リスナーの状態の確認

lsnrctl status [リスナー名]

▼リスナーのサポート対象サービス名の確認

lsnrctl services [リスナー名]

■リスナーの構成

リスナーの構成情報は、下記の通りとなる。

・1つ以上のプロトコルアドレス

・サポート対象のサービスに関する情報

・実行時の動作を制御するパラメータ

これらの構成情報は、データベースサーバ側の$ORACLE_HOME/network/adminディレクトリ配下にあるlistener.oraというファイルに格納されている。

①リスナーのプロトコルは、TCP/IP、ホスト名はlocalhost、リスニングしているポート番号は1521

②外部プロシージャコール(C言語などで記述され、PL/SQLコードから呼び出される)用のプロセス間通信(IPC)のリスニングアドレス

■listener.orafileの作成

Oracleソフトウェアのインストールと同時に初期データベースを作成せずに、後からDBCAを使用してデータベースを作成した場合、listener.oraファイルは作成されていない。

listener.oraファイルを作成するには、Oracleネットワーク構成を作るために以下のツールを使用する。

・Oracle Net Manager

・Oracle Net Configuration Assistanto(NetCA)

・Enterprise Manager Cloud Control

ここでは、Oracle Net Configuration Assistantoを使用して、リスナーを作詞する方法を記載する。

あわせて読みたい