ora-12514 tns:侦听器目前不知道连接描述符中请求的服务。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (60)

我们在本地运行了一个应用程序,其中我们遇到了以下错误:

Ora-12514:tns:侦听器目前不知道连接描述符中请求的服务

我已经用TNSPing正确地解决了这个问题,我试着SQLPlus若要尝试连接,请执行以下操作:连接失败,错误与上面相同。我用这个语法SQLPlus:

sqlplus username/password@addressname[or host name]

我们已核实:

  • 服务器上的TNS侦听器正在运行。
  • 服务器上的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
用户回答回答于

如果直接查看该错误,则表示侦听器不识别服务名称。但是它在哪里保存服务名称呢?在%ORACLE_HOME%\NETWORK\ADMIN\listener.ora

“SID”_List“就是这样,一个SID和服务名称的列表,它们以您可以复制或查找的格式配对。

我添加了问题服务名称,然后在Windows“Services”控制面板中,对Oracle侦听器服务进行了“重新启动”。现在一切都很好。

扫码关注云+社区