「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

Oracle接続時に突然出る ORA-12541: TNS: リスナーがありません。
現場でも頻出するエラーの1つで、接続テストが通らない・アプリがDBに繋がらないなどのトラブルを引き起こします。

この記事では、最速で復旧するためのチェック手順 → 原因の深掘り → 正しい対処法をわかりやすくまとめます。


結論:ほとんどは「リスナーが動いていない or 設定が不一致」

ORA-12541 は、Oracle に接続する際の窓口である Listener(リスナー) が見つからない時に発生します。

主な原因は以下のどれかです。

  • リスナーサービスが停止している

  • listener.ora のホスト名/ポート構成が間違っている

  • tnsnames.ora のHOST/IPが一致していない

  • ファイアウォールで1521ポートが遮断

  • サーバIPの変更後に設定未修正(Windows/VM/クラウドで多い)

では最速で治すチェック順を紹介します。


1. 最速で直す!ORA-12541のチェック手順(5ステップ)


① リスナーサービスが停止していないか確認

Windows

サービス → OracleOraDB…TNSListener を確認
停止していたら「開始」を押す。


で状態が確認できます。

Linux

TNS-12541: TNS:no listener が返った場合はリスナーが死んでいます。


② リスナーを再起動する

Windows / Linux 共通

成功すればほとんどのケースはこれで復旧します。


③ listener.ora のHOST/IPが本当に正しいか確認

リスナーが動いていても、設定されているホスト名が正しくないとリスナーは動作しません。

例:ホスト名変更後に listener.ora を更新していないケース


実際は

myserver01 なのに一致していない → ORA-12541

IPアドレス変更後に放置している場合も同じです。


④ tnsnames.ora の接続先HOST/IPが一致しているか

クライアント側の設定が間違っていると当然繋がりません。

→ listener.ora 側と一致しているか要確認。


⑤ ポート(1521)がファイアウォールで塞がれていないか

  • Windows Firewall

  • Linux firewalld

  • クラウド(AWS SecurityGroup、Azure NSG など)

で 1521 が閉じていると ORA-12541 になります。


2. ORA-12541 が発生する代表的な原因まとめ


リスナーが起動していない(最も多い)

DBサーバの再起動後に自動で上がっていない、手動停止したなど。


listener.ora と tnsnames.ora の不整合

  • HOST名が一致していない

  • PORTが違う

  • サービス名(SERVICE_NAME)が間違い

設定変更後の再起動忘れもよくあります。


DNS・ホスト名解決の問題

ホスト名を指定しているが DNS で解決できないケース。
→ IPアドレス直書きで繋がれば DNS が原因。


VM・クラウドのIP変更

Oracle XE や開発環境で特に多い事例。
IPが変わったのに listener.ora を更新していないパターン。


3. 対処法まとめ(状況別)


🔧 ① リスナー停止が原因 → 再起動でOK



🔧 ② listener.ora の設定ミス → 修正 → リスナー再起動

ファイル場所

  • Windows: C:\oracle\product\...\network\admin\listener.ora

  • Linux: $ORACLE_HOME/network/admin/listener.ora


🔧 ③ tnsnames.oraが間違い → 修正

接続文字列を見直して、listener.ora と整合性を取る。


🔧 ④ ポート塞ぎ → FWで1521を許可

クラウド環境では SecurityGroup / NSG も要確認。


🔧 ⑤ DNS問題 → HOST をIPに変更する

接続先を一時的にIPにすると原因切り分けになる。


4. 再発防止のためのポイント

  • サーバ再起動後の リスナー自動起動設定を確認

  • listener.ora/tnsnames.ora の バックアップ運用

  • 接続情報を IP指定 に統一する(開発環境向け)

  • FW設定変更の履歴をチームで共有


5. まとめ

ORA-12541「TNS:リスナーがありません。」 は、
リスナーが動いていない or 設定不一致が原因の9割です。


✔ 最速で確認すべきは以下の5つ

  1. lsnrctl status

  2. リスナーサービスの起動確認

  3. listener.ora のHOST/IP

  4. tnsnames.ora の整合性

  5. ポート1521の開放

Ads by Google

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x