早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。

也许你没有遇到过,原因如下:

你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。

而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。如下图

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_32961295504739984 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s7.sinaimg.cn/middle/5007d1b1g9a40c1c8ebf6&690" width=378 height=106>

如下是解决思路:

根据出错信息判断出客户端未监听到实例服务名

1、通过重启服务的方式启动数据库,再次连接仍无法连接服务器。

2、既然第一种方法不能解决问题,那就第二种方法。考虑监听listener.ora

监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。

既然listener.ora中没有指定监听,我们可以在listener.ora文件中指定监听的实例名,这样该问题应该可以连接。

步骤如下:

在oracle服务器Oracle安装目录(我的在E:\Oracle10g下,每个人的不一样,根据自己的情况查找)Network/admin目录下找到listener.ora 我的如下图所示

# listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\Oracle10g)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = E:\Oracle10g)

(SID_NAME = ORCL)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))

)

)

标红的为我添加的部分,ORCL为监听的实例名。

然后在Oracle服务器的服务中重新启动监听服务

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_641295504618796 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s16.sinaimg.cn/middle/5007d1b1g9a4102276c5f&690" real_src="http://s16.sinaimg.cn/middle/5007d1b1g9a4102276c5f&690">,然后在oracle客户端通过再次配置对Orcl实例的监听,如下图所示

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_40861295504642796 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s6.sinaimg.cn/middle/5007d1b1g9a410a2805c5&690" width=476 height=86 real_src="http://s6.sinaimg.cn/middle/5007d1b1g9a410a2805c5&690">

结果出现如下图的提示。

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_14831295504695718 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s13.sinaimg.cn/middle/5007d1b1g9a40c26294dc&690" width=598 height=401 real_src="http://s13.sinaimg.cn/middle/5007d1b1g9a40c26294dc&690">

这时我们不要着急,只需要oracle服务器重新启动一下,再次连接即成功。这也是我们配置完listener.ora 监听后,经常忘记的。再次尝试,可以看到客户端可以连接上oracle服务器了,而且PL/SQL再次连接也没有问题了。

而有些朋友在配置客户端时,连接数据库成功,而使用PL/SQL时,又出现了如下图所示的问题。这又如何解决呢?为什么oracle客户端已经连接成功了,而PL/SQL确不行呢?

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_78131295504727281 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s3.sinaimg.cn/middle/5007d1b1g9a40c320fad2&690" width=436 height=288 real_src="http://s3.sinaimg.cn/middle/5007d1b1g9a40c320fad2&690">

出现如上的原因是,可能是大家再配置oracle客户端时,虽然链接成功了,步骤上可能有些错误。大家使用Net Cofiguration Assistant客户端时重新配置了Orcl,而不是添加,我们应该如下步骤处理,就不会出问题了。

1、如果Net Cofiguration Assistant中已经有了Orcl。我们可以重新配置

2、如果Net Cofiguration Assistant中没有Orcl,我们应该添加 具体界面如下图所示。

TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" name=image_operate_52121295504778234 alt="ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法" src="http://s5.sinaimg.cn/middle/5007d1b1g9a412cc6e6d4&690" width=594 height=397 real_src="http://s5.sinaimg.cn/middle/5007d1b1g9a412cc6e6d4&690">

如果大家该步处理也没有问题了,listener.ora 修改成功,并且重新启动了oracle服务器,无论oracle客户端还是PL/SQL都能够成功连接数据库了。

总结一下。当大家遇到“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误的解决步骤:

1、通过重启服务的方式启动数据库,再次连接尝试。

2、如果第一种方法不可行,我们采用第二种方法

正确添加listener.ora;

重新启动了oracle服务器,并检查oracle所有服务是否启动;

oracle客户端Net Cofiguration Assistant正确添加或重新配置实例名转载自:http://blog.sina.com.cn/s/blog_5007d1b10100oqo8.html

java连接数据库12514_ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法...相关推荐

  1. windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 参考文章: (1)windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求 ...

  2. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    51CTO在线视频课程,欢迎大家访问试听 <测试系列课程之缺陷管理概述> http://edu.51cto.com/course/course_id-447.html <软件测试基础 ...

  3. oracle中监听程序当前无法识别连接描述符中请求服务 的解决方法

    早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...

  4. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务-Oracle连接错误

    连接Oracle时突然报"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误 检查OracleServiceORCL服务是否启动! win10:此电脑→管理 ...

  5. 【Linux Centos6/7连接Oracle11g数据库,提示:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务】

    Linux Centos6/7连接Oracle11g数据库,提示:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 1.登录oracle用户权限并查看监听状况 2.修改配置文件(* ...

  6. ORACLE11g ORA 12514 TNS 监听程序当前无法识别连接描述符中请求的服务

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1.TN ...

  7. ora-12514TNS 监听程序当前无法识别连接描述符中请求服务的解决

    这里写自定义目录标题 今天需要连一个新库,地址账户密码输进去之后报: ora-12514TNS 监听程序当前无法识别连接描述符中请求服务. 照着网上各种教程折腾了一天也没弄好.网上主要的解决办法是配置 ...

  8. oracle11 不能连接,oracle11G ora 12514 tns监听程序当前无法识别连接描述符中请求的服务...

    进入 cmd sqlplus / as sysdbaselect status from v$instance ;exit lsnrctl status 给出上面的结果更多追问追答追问追答sql ...

  9. Oracle数据库报错【ORA-12514 】TNS 监听程序当前无法识别连接描述符中请求服务

    虚拟机中搭建的linux服务器,里面安装了oracle 数据库,在真机上进行链接报错: oracle ORA-12514:TNS:listener does not currently know of ...

最新文章

  1. 2016年全球电信市场资本支出略增0.7%至3140亿美元
  2. 检验xpath的小妙招
  3. java两个很大的数相加_两个超大数的相加
  4. PHP中没用的验证码
  5. linux监听远程ip,设计一个脚本,监控远程的一台机器(假设ip为123.23.11.21)的存活状态,当发现宕机时发一封...
  6. 法斗几个月长鼻筋_聊一下足底筋膜炎治疗经历
  7. 【Leetcode】112. 路径总和
  8. EF Code First学习笔记:数据库创建(转)
  9. 大数据计算:如何仅用1.5KB内存为十亿对象计数
  10. 手机uc新窗口打开的html标签,在电脑UC浏览器的新窗口页中如何打开书签
  11. 为什么redux要返回一个新的state引发的血案
  12. MySQL 大数据量分页性能优化
  13. 网络爬虫:中国大学排名定向爬虫
  14. 批量添加手机联系人 | csv/excel转vcf
  15. 计算机数值换算在线,计算机单位换算(计算机单位换算在线)
  16. MessagingTimeout: Timed out waiting for a reply to message ID
  17. POI java.lang.NoSuchMethodError: org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont.addNewFa
  18. Sketch网页截屏插件设计开发
  19. Unity DOTS 学习笔记1 - ECS 0.50介绍和安装
  20. javascript学习1-变量和语句

热门文章

  1. 谁说技术大会只是演讲者的舞台?来Pworld2016,不止让你“听”!
  2. IPV6地址格式详解
  3. 基于vue+elementui婚纱摄影网站SSM+java毕业设计源码介绍
  4. 锐捷无线AP720-I版本升级
  5. 九九乘法表(结果为三角形式)
  6. Knime入门简单实践
  7. Jquery 循环map的用法
  8. 高通camera hal3学习
  9. 报错与解决 | AttributeError: module ‘librosa.feature‘ has no attribute ‘rmse‘
  10. golang之高阶函数