Oracleのリスナープロセス操作の仕方

覚えるべきキーワード
・lsnrctl
・lsnrctl start リスナー名
・lsnrctl stop リスナー名
・lsnrctl status リスナー名
・lsnrctl services リスナー名
・lisner.ora

リスナーはクライアントからの接続要求を受けて、その接続要求をデータベースに伝える役割があります。クライアントとデータベースのつなぎ役みたいなイメージです。そのため、リスナーが起動していないとクライアントからデータベースに接続ができません。
リスナーをコマンドで操作するにはリスナー制御ユーティリティ(lsnrctl)を使います。
リスナーは自動で起動するわけではない(設定によって自動起動可能)ので、コンピュータの再起動などをする場合は併せてリスナーの起動が必要になります。
リスナー名 lsnrのリスナーを起動するSQLです。

lsnrctl start リスナー名

lsnrctl start lsnr;

ちなみにリスナー名のデフォルトはLISTENERであり、この場合はリスナー名の指定が省略可能です。なので、リスナー名LISTENERを起動する場合は、

lsnrctl start

lsnrctl start;

リスナー名を省略してもLISTENERというリスナーは起動します。もちろん、書いても起動します。

コンピューターシャットダウンのためにリスナーは停止をする必要があります。リスナー名 lsnrのリスナーを停止するSQLです。

lsnrctl stop リスナー名

lsnrctl stop lsnr;

同じく、リスナー名がデフォルトのLISTENERの場合はリスナー名なしでも停止が可能です。

リスナーのステータスやサービスを確認するlsnrctlもあります。
リスナー名 lsnrのステータスを確認するSQLです。

lsnrctl status リスナー名

lsnrctl status lsnr;

このSQLを実行すると接続情報などのlsnrの状態が表示されます。

最後にリスナーのサポート対象サービスを表示するSQLです。サービス名とは、データベースのサービス名です。リスナー名 lsnrのサポート対象サービスを確認するSQLです。

lsnrctl services リスナー名

lsnrctl services lsnr;

リスナーの構成情報はlistener.oraファイルに記載されているので、リスナー名を確認したい時はlistener.oraを覗いてみてください。
($ORACLE_HOME/network/admin以下にあります。)
lisner.oraには、ホスト名やポート番号、プロトコルなどが記載されますが、クライアントからの接続要求に応えるために最低限必要な内容はポート番号とホストの名前もしくはアドレスの2点です。この2点がしっかり指定されていないとリスナーは接続要求に応えることができません。
ちなみに、DBCAを使って、データベースを作成した場合はlistener.oraは作成されないのでご注意ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です