大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録4(2/3)

著者:伊関星児
公開日:2020/06/15
最終更新日:2020/06/15
カテゴリー:技術情報
タグ:

ORACLEMASTER 備忘録4(1/3)

続き

 

リスナー(LISTENER)プロセス

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

 

リスナープロセスの役割

リスナープロセス(以後リスナー)は“データベース側で動作しているプロセス”で、「クライアント側の接続要求」を待ち続けており、接続要求を受信するとその要求を目的のデータベースへ転送する。

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

 

なお、リスナーは要求の転送後、再び接続要求待つ(リスニングする)状態に戻る。

つまりリスナーとはクライアントとデータベースの“仲介役”であり、リスナーが起動していないと、クライアントからデータベースに接続できない。

 

リスナーの制御

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

 

リスナーを制御する場合、以下のコマンドを実行する

 

lsnrctl start [リスナー名]:リスナーの起動

lsnrctl stop [リスナー名]:リスナーの停止

lsnrctl status [リスナー名]:リスナー状態確認

lsnrctl services [リスナー名]:サポート対象のサービス確認

 

なお、起動するリスナーがデフォルトのリスナー名(「LISTENER」という名前)の場合は、リスナー名の指定は省略できる。(デフォルト以外の名前で複数のリスナーを同じデータベースサーバー上で構成することも可能)

 

リスナーの構成

リスナーの構成情報は以下の通り

 

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

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

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

 

※IPアドレスからMACアドレスを調べる仕組み

 

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

 

中身は以下の通り

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))

)①

(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)②

)

  • リスナープロトコルはTCP/IP、ホスト名はlocalhost、リスニングしているポート番号は1521
  • 外部プロシージャコール(C言語などで記述され、PL/SQLコードから呼び出される)用のプロセス用通信(IPC)のリスニングアドレス

 

クライアントの構成

クライアントがデータベースサーバ上のデータベースに接続するには、クライアント側で「接続するデータベースのホスト名」や「リスナー」などの接続情報を指定する必要がある。クライアント側でOracle Netを構成し、データベース側で接続要求待ちをしているリスナーと接続する。

    上に戻る