ORACLE操作

[ORACLE] リスナーを再作成する

投稿日:2025年5月24日 更新日:

リスナーの設定がおかしくなってしまった場合や、原因不明のエラーが解消しない場合は、リスナーを一度削除してから作り直す(再作成する)ことで解決することがあります。
ここでは、リスナーを再作成する手順を紹介します。

手順

①現在のリスナーの状態を確認する

再作成後に同じ名前・同じポートで作り直せるように、まずは現在のリスナー名やポート番号を確認しておきます。

(リスナーの状態を確認するコマンド)
lsnrctl status

複数のリスナーを構成している場合は、対象のリスナー名を指定してください。
 (例)lsnrctl status LISTENER

②リスナーを停止する

(リスナーを停止するコマンド)
lsnrctl stop

③Oracle Net Configuration Assistantで、既存のリスナーを削除する

Windowsメニューから「Oracle Net Configuration Assistant」を起動し、「リスナー構成」→「削除」を選択して、対象のリスナーを削除します。
詳しい画面操作は、関連記事「リスナーを削除する」を参照してください。

④Oracle Net Configuration Assistantで、リスナーを新規に作成する

続けて同じ「Oracle Net Configuration Assistant」から「リスナー構成」→「追加」を選択し、リスナー名・プロトコル・ポート番号を指定してリスナーを作成します。
①で確認した内容と同じ名前・ポートで作成すれば、以前と同じ状態に作り直せます。
詳しい画面操作は、関連記事「リスナーを作成する」を参照してください。

⑤リスナーを起動し、正常に動作するか確認する

(リスナーを起動するコマンド)
lsnrctl start
(リスナーの状態を確認するコマンド)
lsnrctl status

「STATUS of the LISTENER」に続けてリスナー名や状態が表示され、エラーが出ていなければ再作成は完了です。

別の方法(listener.oraを直接作り直す)

Oracle Net Configuration Assistantがうまく起動しない場合や、細かいパラメータを保持したまま作り直したい場合は、listener.oraファイルを直接作り直す方法もあります。

①リスナーを停止する

(リスナーを停止するコマンド)
lsnrctl stop

②現在のlistener.oraファイルをリネームしてバックアップする

(Windows系)
%ORACLE_HOME%\network\admin\listener.ora

上記ファイルを「listener.ora.bak」などの名前に変更し、退避させておきます。

③新しいlistener.oraファイルを作成する

同じ場所に、テキストエディタで新しくlistener.oraファイルを作成します。最低限の記述例は以下のとおりです。

(listener.ora)
# listener.ora Network Configuration File LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 999.999.999.999)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) )

HOSTには、リスナーが動作するサーバのホスト名またはIPアドレスを指定してください。

④リスナーを起動する

(リスナーを起動するコマンド)
lsnrctl start

解説

  • Oracle Net Configuration Assistantの実体は以下にあります。
    %ORACLE_HOME%\bin\netca.bat
  • リスナーを再作成した直後は、稼働中のデータベースがまだ新しいリスナーにサービスを登録していないことがあります。その場合、以下のコマンドをデータベース側で実行すると、即座にリスナーへサービスを再登録できます。
(データベースのサービスをリスナーへ即座に再登録するコマンド)
ALTER SYSTEM REGISTER;
  • 削除・作成をやり直さず、ポート番号など一部の設定だけを変更したい場合は、Oracle Net Configuration Assistantの「リスナー構成」で「再構成」を選択する方法もあります。設定を大きく崩さずに直したい場合は、こちらも検討してください。

関連記事


スポンサーリンク

スポンサーリンク

-ORACLE操作
-

執筆者:



comment

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク