连接Oracle数据库失败(ORA-12514)故障排除

这篇具有很好参考价值的文章主要介绍了连接Oracle数据库失败(ORA-12514)故障排除。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


点击试看博主的专著《MySQL 8.0运维与优化》(清华大学出版社)

ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障,它通常表示无法连接到数据库实例,这里姚远老师告诉大家如何排除这类故障。

症状

当尝试连接到Oracle数据库实例时,可能会收到ORA-12514错误消息。此错误通常会在Oracle客户端或应用程序中显示。
连接Oracle数据库失败(ORA-12514)故障排除
此外,还可能会在数据库服务器上的日志文件中看到类似于以下消息的记录:

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

产生原因

ORA-12514错误通常是由以下原因之一造成的:

  • 无效的服务名称:连接描述符中指定的服务名称不存在。例如,可能会发生拼写错误或者数据库实例名称更改而未及时更新连接描述符的情况。
oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:00:59 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

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

  • 监听程序未运行:如果Oracle数据库监听程序未运行,则无法连到数据库实例。此情况可能是由于监听程序未正确启动、网络连接故障或服务器故障等原因引起的。
oracle@yaoyuan ~$ sqlplus sys/yaoyuan@localhost/scott as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:16:54 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

ERROR:
ORA-12541: TNS:no listener

注意:这里的提示是“no listener”,和前面的“listener does not currently know of service requested in connect descriptor”不同。

解决办法

针对ORA-12514错误,可以采取以下措施来解决问题:

  • 检查连接描述符:确保连接描述符中指定的服务名称是正确的。如果服务名称发生变化,请更新连接描述符。例如下面两个连接,第一次失败,第二次成功,大家看看是什么问题呢?
oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:29:24 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

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


Enter user-name:
oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orcl as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:29:40 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

仔细看看就明白了,原来服务名是orcl被错误的写成了orc1。当然在生产环境,大部分时候服务名是在tnsnames.ora文件中配置的:

oracle@yaoyuan ~$ cat /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora
...
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracleace)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orc1)
    )
  )

注意这里的SERVICE_NAME中有个不容易察觉的错误。
其它可能的问题和对应的解决方法包括:

  • 确认监听程序已运行:可以通过命令行或图形界面工具来检查监听程序是否正在运行。如果监听程序未运行,则需要启动它。
  • 检查网络连接:如果存在网络连接问题,则需要解决网络问题。例如,可以检查网络配置、防火墙设置等。
  • 检查数据库实例状态:如果数据库实例已停止或崩溃,则需要启动数据库实例。
    总之,ORA-12514错误通常表示无法连接到数据库实例。通过检查连接描述符、监听程序状态、网络连接和数据库实例状态等方面,可以找到并解决问题。

这篇文章解决了您不能连接Oracle数据库的问题吗?如果没有解决,您可以在下面留言描述您的问题,我会尽量抽时间给您解答,或者您可以加下方我的微信👇,拉您进入学习群提问。文章来源地址https://www.toymoban.com/news/detail-405580.html

到了这里,关于连接Oracle数据库失败(ORA-12514)故障排除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 下 Oracle报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

    解决方法:在listener.ora文件中配置相应的服务,然后重新启动数据库和监听服务 使用到的脚本命令: linux环境: 1. 修改/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora文件          默认情况下该文件内容:        LISTENER =           (DESCRIPTION_LIST =     

    2024年02月08日
    浏览(47)
  • (java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver)IDEA中连接Oracle数据库失败,缺少驱动

    该问题出现在用idea连接Oracle数据库的时候,代码都写好了但是发现连不上Oracle。 (或者是能连Oracle,但是只能连一半。。。) 首先要保证自己的Oracle数据库是启动了的噢。 运行代码时,也就是这行代码会一直报错: 连接oracle数据库时,一直报错找不到驱动,后来发现自己

    2024年02月04日
    浏览(60)
  • ORACLE还原恢复启动时数据库报ORA-00704, ORA-00604, ORA-00904

    Oracle数据库还原恢复后,执行alter database open resetlogs时遇到下面错误。如下所示: 刚开始有点懵的,第一次遇到这种情形。不过搜索了一下metalink相关资料后,大致了解到是因为环境变量设置有误导致这些错误出现的。这里先介绍一下这个案例的复杂背景: 当前机器为一个测

    2023年04月13日
    浏览(64)
  • Oracle数据库ORA-01507: database not mounted解决方法

    连接上安装好的oracle后,执行SQL报ORA-01507: database not mounted错误,根据百度ORA-01507: database not mounted的解决办法,问题解决了,下面详细介绍一下这个方法: 执行sql命令: shutdown ,并退出sqlplus /oracle/SHP/11204/是本例的oracle的家目录,要根据自身安装目录做修改 语句为 fuser -u l

    2024年02月16日
    浏览(44)
  • Oracle的PDB数据库创建DIRECTORY时遇到ORA-65254

    在Oracle 19c多租户环境的PDB数据库下面创建一个DIRECTORY时,遇到了“ORA-65254: invalid path specified for the directory”,下面简单演示一下所遇到的这个案例 如上所示,数据库提示,出现这个错误的原因在于创建PDB的语句中指定了PATH_PREFIX参数,创建目录DIRECTORY时只能使用相对路径,而

    2024年02月08日
    浏览(52)
  • 重启Linux服务器 Oracle 数据库步骤 重启数据库startup 报ORA-01031 insufficient privileges错误解决

    在一次重启数据库的时候,没有正确按照步骤重启数据库,导致服务器重启。 正确步骤及详解: (1) su - oracle 打开Xshell,连接到数据库所在的linux机器。若用户为root,请输入命令“su - oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。 检测方法:“#”变

    2024年02月15日
    浏览(67)
  • oracle19cPDB数据库连不上,提示ORA-01109: database not open

    今天尝试创建了一个RAC环境的PDB数据库,在本地执行alter pluggable database pdb01 open 成功了,但是使用上去了plus连接还是连接不上,提示错误如下: 依次检查配置: 1.手工启动pdb数据库 2.在Oracle用户下的tnsnames.ora文件添加了监听: 3.重启grid用户下的监听 发现问题依然存在,后来

    2024年02月05日
    浏览(65)
  • Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库文件导致)解决方法

    先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcle DBF数据文件后无法进入系统,plsql登录报错如下: 一般情况下,删除表空间的正确方法是: DROP TABLESPACE BDCDJ INCLUDING CONTENTS AND DATAFILES; 如果没有通过以上命令删除而直接删

    2024年02月02日
    浏览(68)
  • Oracle数据库启动时:ORA-00119: invalid specification for system parameter LOCAL_LISTENER;

    💌 所属专栏:【程序错误解决方法(建议收藏)】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,

    2024年02月05日
    浏览(37)
  • openGauss学习笔记-204 openGauss 数据库运维-常见故障定位案例-重建索引失败

    204.1 重建索引失败 204.1.1 问题现象 当Desc表的索引出现损坏时,无法进行一系列操作,可能的报错信息如下。 204.1.2 原因分析 在实际操作中,索引会由于软件或者硬件问题引起崩溃。例如,当索引分裂完发生磁盘空间不足、出现页面损坏等问题时,会导致索引损坏。 204.1.3 处

    2024年01月24日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包