- TOP
- 技術情報
- Oracle DB Tips
- ORA-12514: TNS: リスナーは現在、接続識別子でリクエストされているサービスを認識していません(TNS-12514)
KNOWLEDGE
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
Oracle DB Tips
リスナーがクライアントからの接続要求を受け付けた時に、接続先となるサービスを認識していない時に発生するエラーです。
ORA-12514は一般に以下の要因で発生します。
lsnrctl servicesコマンドを用いて、リスナーに登録されているサービスを確認します。
c:¥>lsnrctl services LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 02-2月 -2012 17:20:22 Copyright (c) 1991, 2010, Oracle. All rights reserved. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=C10203477)(PORT=1521)))に接続中 サービスのサマリー... サービス"ora112.c10203477"には、1件のインスタンスがあります。 インスタンス"ora112"、状態READYには、このサービスに対する1件のハンドラがあります... ハンドラ: "DEDICATED" 確立:2 拒否:0 状態:ready LOCAL SERVER
上記例では、サービス名「ora112.c10203477」として、インスタンス「ora112」
がサービス登録されています。
サービスがリスナーに登録されていない一般的な原因として以下があります。
インスタンスが起動していない場合は、インスタンスからリスナーに対してサービスが登録されません。この場合は、インスタンスを起動してください。
リスナー起動後、インスタンスからサービスが登録されるまで最大1分かかることがあります。この場合は、しばらく待つか、インスタンスでalter system register;コマンドを実行します。
リスナーが起動しているノードに、クライアントの接続先となるサービス(インスタンス)が存在せず、クライアントの接続定義が誤っている場合があります。
この場合は、$ORACLE_HOME/network/admin/tnsnames.ora を参照し、接続定義を確認します。
ora112 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora112.C10203477)
)
)
SERVICE_NAME 句で指定されている値がリスナーに登録されているサービス名と一致しているか確認します。
ORA-12514 TNS-12514 サービス tnsnames.ora