连接Oracle数据库失败(ORA-12514)故障排除
创始人
2025-01-20 14:04:01
0

文章目录

  • 症状
  • 产生原因
  • 解决办法

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

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

症状

当尝试连接到Oracle数据库实例时,可能会收到ORA-12514错误消息。此错误通常会在Oracle客户端或应用程序中显示。
在这里插入图片描述
此外,还可能会在数据库服务器上的日志文件中看到类似于以下消息的记录:

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数据库的问题吗?如果没有解决,您可以在下面留言描述您的问题,我会尽量抽时间给您解答,或者您可以加下方我的微信👇,拉您进入学习群提问。

相关内容

热门资讯

玩家必看科普!hhpoker辅... 玩家必看科普!hhpoker辅助挂是真的吗,wepoker有没有辅助(切实真的是有挂)hhpoker...
必备科技!约局吧德州透视,we... 必备科技!约局吧德州透视,wepokerplus辅助(其实是有挂)约局吧德州透视透视方法中分为三种模...
玩家攻略推荐!创思维激k看底牌... 玩家攻略推荐!创思维激k看底牌辅助(开挂辅助方法)都是有透视妙招1、这是跨平台的创思维激k看底牌辅助...
一分钟了解!约局吧辅助器,hh... 一分钟了解!约局吧辅助器,hh poker透视器下载(一直是有挂)进入游戏-大厅左侧-新手福利-激活...
最新技巧!决胜麻架胡易辅助(开... 最新技巧!决胜麻架胡易辅助(开挂辅助方法)其实有透视妙招暗藏猫腻,小编详细说明决胜麻架胡易辅助破解器...
重大通报!wepoker插件程... 重大通报!wepoker插件程序激活码,hhpoker真的有透视吗(本来存在有挂)1、每一步都需要思...
大神推荐!上品辅助器(总结辅助... 大神推荐!上品辅助器(总结辅助方法)原来有透视要领该软件可以轻松地帮助玩家将上品辅助器外卦神器提升到...
一起来探讨!wpk插件辅助,佛... 一起来探讨!wpk插件辅助,佛手大菠萝辅助(都是是有挂)1、实时佛手大菠萝辅助透视辅助更新:用户可以...
终于知道!德扑之星私人局辅助(... 终于知道!德扑之星私人局辅助(有挂辅助软件)一直有透视方式1、德扑之星私人局辅助破解器简单,德扑之星...
科技新动态!wepoker私人... 科技新动态!wepoker私人局怎么玩,wepoker免费钻石(其实有挂)运wepoker私人局怎么...