帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
连接Oracle数据库失败(ORA-12514)故障排除
发布时间:2024-03-10 22:26:49   分类:帮助文档
连接Oracle数据库失败(ORA-12514)故障排除






文章目录
症状产生原因解决办法


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




香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价