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

6人阅读 评论(0) 收藏 举报
分类:

你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
查看评论

JSP白皮书

JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与...
  • weqa
  • weqa
  • 2000-09-02 22:48:00
  • 2930

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

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法 出现情况: 第一天正确安装oracle11G及完成配置PL/SQL,正确运行生产环境。夜间计算机关机,第二天重新启机,无...
  • huangyanlong
  • huangyanlong
  • 2014-01-19 11:59:50
  • 13772

安装oracle 11G-----( ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务)的解决方法

昨晚同事重新安装了服务器的oracle,然后用PL/SQL连接虚拟机中的Oracle数据库,发现报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人...
  • Mrzhang0419
  • Mrzhang0419
  • 2016-04-19 16:11:36
  • 11079

Oracle异常处理—ORA-12514:监听程序当前无法识别连接描述符中请求的服务

iLife's 博客http://blog.csdn.net/fei1502816  最近几天刚学习oracle11g,安装完成之后直接使用,今天用PLSQL链接突然报错,报错代码为:O...
  • fei1502816
  • fei1502816
  • 2014-04-08 11:35:16
  • 42587

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,linux下oracle报错,如何解决!

在listener.ora文件中配置相应的服务,然后重新启动数据库和监听服务 使用到的脚本命令: linux环境: 1. 修改/home/oracle/app/oracle/product/12...
  • wojiuguowei
  • wojiuguowei
  • 2018-01-22 11:13:46
  • 124

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

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

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

1、TNS连接错误同事跟我说连接oracle数据库报错ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,如下所示:  2、查看本地TNSPING查看本地的tns配置: W...
  • mchdba
  • mchdba
  • 2016-10-27 20:24:31
  • 9111

服务重启后登录本地oracle报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

数据库安装成功之后登录Scott能够登录成功,把监听和实例服务重启之后,登录Scott报错ORA-12514。但是不断的登录,偶尔也能够登录上。 解决方法:修改配置文件listener.ora中的配...
  • naomi_qing
  • naomi_qing
  • 2017-09-21 11:02:26
  • 331

ORA-12514 : TNS:监听程序当前无法识别连接描述符中请求的服务(连接linux上的数据库)

ORA-12514 : TNS:监听程序当前无法识别连接描述符中请求的服务   前言:在Windows系统上用pl/sql工具想要连接Linux上安装的Oracle数据库,遇到了这个错误后,上网一...
  • hunterno4
  • hunterno4
  • 2013-03-10 20:36:39
  • 9456

监听程序当前无法识别连接描述符中请求的服务

  • 2013年05月09日 09:38
  • 22KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 550
    积分: 164
    排名: 107万+
    文章分类