技術情報

RSS

ORA-12224: TNS: リスナーがありません。 (TNS-12224)

ORA-12224 (TNS-12224)エラーとはどのようなエラーか?

クライアントからネットワークを介して Oracle Databaseにアクセスする際、クライアントは tnsnames.ora 内の接続記述子の ADDRESS 部で指定されたネットワークアドレスに接続を要求します。
要求したリスナーが起動されていないなどの理由で接続に失敗した場合、ORA-12224 エラーが発生します。

ORA-12224 エラーのエラー出力例

ORA-12224: TNS: リスナーがありません

※同様の状況で ORA-12541 (TNS-12541) として出力される場合もありますが、エラーの内容はいずれも同じです。

ORA-12224 の一般的な発生要因と対処

ORA-12224は一般に以下の要因で発生します。

  • リスナーが起動していない
  • tnsnames.ora と listener.ora 内のアドレスが一致していない
リスナーが起動していない
lsnrctl ユーティリティを使用してリスナーが正常に起動しているか確認します。
lsnrctl status [リスナー名]
起動されていない場合は、以下コマンドで起動します。
lsnrctl start [リスナー名]
tnsnames.ora と listener.ora 内のアドレスが一致していない

tnsnames.ora と listener.ora ファイルの ADDRESS セクション内のパラメータが一致しているか確認し、一致していない場合には修正します。

例えばリスナーが正常に起動している場合でも、以下のように tnsnames.ora とlistener.ora の ADDRESS 部の情報に不一致がある場合にはORA-12224エラーが発生します。

エラーが発生する例
ADDRESS 部で指定したポート番号(PORT= の値)が一致していないため、orcl というサービス名を使用して接続を行おうとすると本エラーが発生します。
+---- listener.ora 内のリスナー定義 ----------+
LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
    )
  )
)
+---- tnsnames.ora 内のリスナー定義 ----------+
orcl =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = orcl)
  )
)
G:\>sqlplus scott/tiger@orcl
  
SQL*Plus: Release 11.1.0.7.0 - Production on 金 1月 20 13:21:27 2012
  
Copyright (c) 1982, 2008, Oracle.  All rights reserved.
  
ERROR:
ORA-12541: TNS: リスナーがありません

キーワード

ORA-12224 TNS-12224 ORA-12541 TNS-12541 リスナーがありません

  • 1つ古い記事

このページの上部へ

​ ​