1. ホーム
  2. オラクル

[解決済み】ORA-12514 TNS:listener does not currently know of service requested in connect descriptor

2022-04-30 21:14:39

質問

ローカルで動作しているアプリケーションで、以下のエラーが発生しています。

ORA-12514: TNS:listener does not currently know of service requested 接続記述子で

を使用して接続をテストしてみました。 TNSPing が正しく解決され 試しに SQLPlus で接続を試みましたが、上記と同じエラーで失敗しました。私はこの構文で SQLPlus :

sqlplus username/password@addressname[or host name]

検証してみました。

  • サーバー上のTNS Listenerが起動している。
  • サーバー上のOracle本体が起動している。

この環境に何か変更が加えられたかどうかはわかりません。 他にテストできることはありますか?

解決方法は?

私はこの問題に直面し、その解決策は tnsnames.oraSERVICE_NAME は、あなたのデータベースで有効なサービス名です。有効なサービス名を調べるには、Oracleで次のクエリを使用します。

select value from v$parameter where name='service_names'

を更新したら tnsnames.ora に変更します。

TEST =
   (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = *<validhost>*)(PORT = *<validport>*))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = *<servicenamefromDB>*)
    )
)

を実行しました。

sqlplus user@TEST

成功! リスナーは基本的に、あなたが使っているサービス名がDBによると有効なサービスでないことを伝えています。

(*私はWin7のクライアントワークステーションからリモートDBにsqlplusを実行し、DBAを非難していました;) *)