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つ
-
lsnrctl status
-
リスナーサービスの起動確認
-
listener.ora のHOST/IP
-
tnsnames.ora の整合性
-
ポート1521の開放
