验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Oracle报错ora-12514怎么检查及解决

阅读:1157 来源:乙速云 作者:代码code

Oracle报错ora-12514怎么检查及解决

      问题

      本地测试的时候,连接测试服务器上的Oracle数据库,报错如下:

      ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

      参考文章

      stackoverflow参考文章

      本地问题解决

      1.查看Oracle当前监听器状态

      在命令行窗口输入以下命令,查看Oracle当前监听器的状态

      > lsnrctl status

      Oracle报错ora-12514怎么检查及解决

      其中,监听程序参数文件listener.ora 配置了要监听的Oracle服务的信息,监听程序日志文件log.xml 中记录了连接报错的 ora-12514 信息。

      服务摘要部分,记录了当前监听器监听到的服务的简要信息(截图示例中的 orcltaco 就是被监听的服务的名称,orcltaco服务信息配置在上面的listener.ora 文件中)。

      2.配置要监听的服务信息

      根据上一步查询到的 监听程序参数文件 listener.ora 的地址,用编辑器打开对应目录下的 listener.ora 文件,添加要监听的服务信息(服务信息从对应的 tnsnames.ora 文件中查找,一般和 listener.ora 文件在同一目录下)。

      服务信息以及服务在 listener.ora 文件中的相应配置如下:

      Oracle报错ora-12514怎么检查及解决

      服务信息的服务名为:orcl

      修改后的 listener.ora 文件如下:

      Oracle报错ora-12514怎么检查及解决

      3.重启监听器

      上一步修改保存之后,在命令行中依次执行以下两个命令,重启监听器

      > lsnrctl stop
      > lsnrctl start

      或者可以执行 lsnrctl reload 来代替 lsnrctl stop,lsnrctl start

      执行结果如下:

      Oracle报错ora-12514怎么检查及解决

      查看启动后的服务摘要发现,配置的 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 可以显示所有可用的监听器命令

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>