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を使用して、リスナーを作詞する方法を記載する。