- TOP
- 技術情報
- Oracle DB Tips
- ORA-12224: TNS: リスナーがありません。 (TNS-12224)
KNOWLEDGE
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
Oracle DB Tips
クライアントからネットワークを介して Oracle Databaseにアクセスする際、クライアントは tnsnames.ora 内の接続記述子の ADDRESS 部で指定されたネットワークアドレスに接続を要求します。
要求したリスナーが起動されていないなどの理由で接続に失敗した場合、ORA-12224 エラーが発生します。
ORA-12224: TNS: リスナーがありません
※同様の状況で ORA-12541 (TNS-12541) として出力される場合もありますが、エラーの内容はいずれも同じです。
ORA-12224は一般に以下の要因で発生します。
lsnrctl ユーティリティを使用してリスナーが正常に起動しているか確認します。
lsnrctl status [リスナー名]
起動されていない場合は、以下コマンドで起動します。
lsnrctl start [リスナー名]
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 リスナーがありません