ORACLE报错ORA-12514 TNS:listener does not currently know of service requested in conn
错误解释:
ORA-12514错误表示Oracle监听器无法识别客户端尝试连接的服务名。换句话说,客户端提供的服务名不存在或者不被监听器监听。
解决方法:
- 检查客户端连接字符串中的服务名是否正确。
- 确认监听器配置中是否包含了该服务名。你可以通过运行
lsnrctl status
命令来查看当前监听器所知道的服务。 - 如果服务名确实不存在,你需要在监听器配置中添加相应的服务名。编辑监听器的配置文件
listener.ora
,通常位于$ORACLE_HOME/network/admin
目录下,添加或者修改SID\_LIST部分以包含缺失的服务名。 - 重启监听器以使更改生效,使用
lsnrctl reload
或者lsnrctl stop
后跟lsnrctl start
。 - 如果是通过网络服务名(TNS名)连接,确保
tnsnames.ora
文件中对应的条目配置正确,并且数据库实例已经启动。 - 如果服务名正确但仍然出现问题,可能需要检查数据库实例是否已经正确注册到监听器。可以通过运行
ALTER SYSTEM REGISTER;
命令来强制注册。
如果以上步骤都不能解决问题,可能需要进一步检查网络配置和监听器的日志文件来获取更多信息。
评论已关闭