前几天重新安装了数据库服务器,在服务器上使用都一切正常,然后在我的客户端配置一个tns服务名却出问题了,下面这篇文章主要给大家介绍了关于Oracle报错ora-12514检查以及解决方法的相关资料,需要的朋友可以参考下
问题
本地测试的时候,连接测试服务器上的Oracle数据库,报错如下:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
参考文章
stackoverflow参考文章
本地问题解决
1.查看Oracle当前监听器状态
在命令行窗口输入以下命令,查看Oracle当前监听器的状态
> lsnrctl status
其中,监听程序参数文件listener.ora
配置了要监听的Oracle服务的信息,监听程序日志文件log.xml
中记录了连接报错的 ora-12514 信息。
服务摘要部分,记录了当前监听器监听到的服务的简要信息(截图示例中的 orcltaco 就是被监听的服务的名称,orcltaco服务信息配置在上面的listener.ora
文件中)。
2.配置要监听的服务信息
根据上一步查询到的 监听程序参数文件 listener.ora
的地址,用编辑器打开对应目录下的 listener.ora
文件,添加要监听的服务信息(服务信息从对应的 tnsnames.ora
文件中查找,一般和 listener.ora
文件在同一目录下)。
服务信息以及服务在 listener.ora
文件中的相应配置如下:
服务信息的服务名为:orcl
修改后的 listener.ora
文件如下:
3.重启监听器
上一步修改保存之后,在命令行中依次执行以下两个命令,重启监听器
> lsnrctl stop
> lsnrctl start
或者可以执行 lsnrctl reload
来代替 lsnrctl stop,lsnrctl start
执行结果如下:
查看启动后的服务摘要发现,配置的 orcl
服务已经被监听器监听到了,这时候在使用程序或者客户端连接工具 账户密码连接 orcl
服务访问数据库,连接成功!
lsnrctl命令
lsnrctl 作为oracle监听命令,在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态,常用命令如下:
1、lsnrctl status
检查当前监听器的状态
2、lsnrctl start [listener-name]
启动所有的监听器,可以指定名字来启动特定的监听器
3、lsnrctl stop [listener-name]
关闭所有的监听器,可以指定名字来关闭特定的监听器
4、lsnrctl reload
重启监听器,此命令可以代替 lsnrctl stop,lsnrctl start
5、lsnrctl hep
可以显示所有可用的监听器命令
总结
到此这篇关于Oracle报错ora-12514检查以及解决方法的文章就介绍到这了,更多相关Oracle报错ora-12514内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Oracle报错ora-12514检查以及解决方法
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- Oracle 删除大量表记录操作分析总结 2023-07-23
- 搭建单机Redis缓存服务的实现 2023-07-13
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- redis清除数据 2023-09-13
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- SQLSERVER调用C#的代码实现 2023-07-29