TNS:listener does not currently know of service requested in connect descriptor.
时间: 2023-11-09 18:56:51 浏览: 151
ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
5星 · 资源好评率100%
TNS:listener does not currently know of service requested in connect descriptor错误表示TNS监听器无法识别您在连接描述符中请求的服务。这通常是由于服务名(SERVICE_NAME)在监听器上没有正确配置引起的。
解决此问题的方法如下:
1. 确保您的`tnsnames.ora`文件中的服务名(SERVICE_NAME)与`listener.ora`文件中的服务名匹配。检查两个文件的内容,确保它们的服务名是一致的。
2. 在数据库实例中注册服务名。在命令行中输入以下命令:
```sqlplus / as sysdba
SQL> alter system register;
```
这将向监听器注册当前数据库实例的服务名。如果监听器已配置为动态服务注册,请确保数据库实例中的服务名与`listener.ora`文件中的服务名匹配。
3. 重新启动TNS监听器。在命令行中输入以下命令:
```lsnrctl stop
lsnrctl start
```
4. 检查TNS监听器状态以确保它已正确启动并识别服务名。在命令行中输入以下命令:
```lsnrctl status
```
如果TNS监听器已成功启动,并识别到您请求的服务名,那么您应该可以看到关于已注册服务和正在监听的端口的信息。
5. 使用SQL*Plus重新尝试连接到数据库,确保您在连接描述符中使用了正确的服务名。
如果您仍然遇到问题,请仔细检查`tnsnames.ora`和`listener.ora`文件中的配置,确保它们之间没有不一致或错误。
阅读全文