ORA-12514, TNS:listener does not currently know of service requested in connect descriptor案例2
今天使用SQL Developer连接一台测试服务器数据库(ORACLE 11g)时,遇到了“ORA-12514, TNS:listener does not currently know of service requested in connect descriptor”错误,具体提示如下所示:
执行请求的操作时遇到错误:
Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
供应商代码 12514
几年前写过一篇关于”ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务“的案例文章,现在看来当时写的比较肤浅和粗糙,当然案例也不一样,下面在总结一下如何处理ORA-12514这个错误吧。
Step 1: 首先检查客户端的tnsnames.ora里面的host、port、service_name等是否正确
myvm =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.57.15)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = gsp.localdomain)
)
)
逐一仔细检查过后发现这些配置都是正确的。 其实前几天还是正常来的。测试服务器和tnsnames.ora都没有改动过。所以我们继续后面排查。
Step 2:检查确认数据库实例是否启动。
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>
如上所示,数据库实例正常,并没有关闭。当数据库实例异常关闭,也会出现ORA-12514错误,如下所示(如果我关闭一数据库实例,然后使用SQL*Plus测试连接数据库就会遇到这个错误):
C:\Users>sqlplus system/123456@mydb
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 12 11:56
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
Step 3:检查网络是否正常,tnsping能否ping通
如下所示,ping 和tnsping 均都正常
监听服务也正常,没有问题
[oracle@DB-Server admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-APR-2017 10:36:40
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 12-APR-2017 10:31:20
Uptime 0 days 0 hr. 5 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/DB-Server/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DB-Server.localdomain)(PORT=1521)))
The listener supports no services
The command completed successfully
Step 4:检查$ORACLE_BASE/diag/tnslsnr/DB-Server/listener/alert下的日志,发现host_addr为10.20.34.76,实际IP地址不是这个。因为监听文件里面我使用的hostname DB-Server.localdomain,所以赶紧检查/etc/hosts的配置
[root@DB-Server ~]# ifconfig
eth0 Link encap:Ethernet HWaddr B0:83:FE:55:32:E5
inet addr:10.20.57.15 Bcast:10.20.57.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2363981 errors:0 dropped:0 overruns:0 frame:0
TX packets:180048 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:225925147 (215.4 MiB) TX bytes:14349633 (13.6 MiB)
Interrupt:233 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3692 errors:0 dropped:0 overruns:0 frame:0
TX packets:3692 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2982961 (2.8 MiB) TX bytes:2982961 (2.8 MiB)
[root@DB-Server ~]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
10.20.34.76 DB-Server.localdomain DB-Server
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
[root@DB-Server ~]#
果然发现/etc/hosts下配置为10.20.34.76, 具体原因是因为IT部门调换办公室,从三楼撤到二楼,将这台PC搬下来后,服务器IP地址变化了,修改/etc/hosts,然后重启监听服务,问题解决。
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor案例2的更多相关文章
- oracle ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 1.看看是不是监听 ...
- oracle centos 重启后报错ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
oracle centos 重启后报错ORA-12514, TNS:listener does not currently know of service requested in connect d ...
- ORA_12514:TNS:listener does not currently know of service requested in connect descriptor
问题描述 ORA_12514:TNS:listener does not currently know of service requested in connect descriptor 解决方式 ...
- TNS:listener does not currently know of service requested in connect descriptor错误改正
(SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) (PR ...
- dataguard ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
错误的意思是listener 不知道连接解析器中的请求服务,这里要说静态监听和动态监听了动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,servi ...
- ORA-12514 TNS:listener does not currently know of service requested in connect descriptor
this issue and the fix was to make sure in tnsnames.ora the SERVICE_NAME is a valid service name in ...
- ORA-12514: TNS:listener does not currently know of service requested in connect
https://blog.csdn.net/mchdba/article/details/50166153
- ORA-12514:TNS:lisntener does not currently know of service requested in connect descriptor
在使用工具连接oracle库的时候出现了异常 根据理解初步估计是服务或者监听器没有启动 于是链接到数据库服务器进行查看 服务都已经开启,重启后链接依旧出现上述问题 使用lsnrctl status ...
- Oracle - ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 解决
java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:list ...
随机推荐
- 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...
- 函数式编程之-定义能够支持Partial application的函数
是时候介绍如何在F#中定义函数了,在你没有接触过函数式编程语言之前,你也许会觉得C#/Java的语法已经够丰富了,有什么任务做不了呢?当你读过函数式编程之Currying和函数式编程之Partial ...
- 【EF6学习笔记】(十二)EF高级应用场景
本篇原文链接:Advanced Entity Framework Scenarios 本篇主要讲一些使用Code First建立ASP.NET WEB应用的时候除了基础的方式以外的一些扩展方式方法: ...
- Go Web:HttpRouter路由
HttpRouter是一个轻量级但却非常高效的multiplexer.手册: https://godoc.org/github.com/julienschmidt/httprouter https:/ ...
- Python 的反射机制
什么叫做反射 利用字符串的形式去对象(模块)中操作(查找/添加/获取/删除)成员,一种基于字符串的事件驱动. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型.然后,可以 ...
- Python 通过 SMTP 发送邮件
Python版本:Python3.5.2 简介 SMTP是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件.HTML 邮件以及带附件的邮件. Python 对 SMTP 支持 ...
- VUE组件汇总
内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489 - 饿了么出品的Vue2的web UI工具套件 Vux ★8133 - 基于Vue和 ...
- 从零开始学安全(二十三)●用PHP编写留言板
<?php include("test.php"); ?> <!DOCTYPE html> <html> <head> <me ...
- [android] 显示意图激活另外一个activity
可以使用跳转的方式类似javaweb来实现界面转换 显示意图就是必须要指定开启组件的具体信息,包名,组件名,组件的class 新建一个类TwoActivity ,继承Activity类,重写onCre ...
- IDEA插件(Android Studio插件)开发示例代码及bug解决
IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...