系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > oracle > 详细页面

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

时间:2023-10-31来源:系统城装机大师作者:佚名

前言

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

症状

当尝试连接到Oracle数据库实例时,可能会收到ORA-12514错误消息。此错误通常会在Oracle客户端或应用程序中显示。

此外,还可能会在数据库服务器上的日志文件中看到类似于以下消息的记录:

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

产生原因

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

无效的服务名称:连接描述符中指定的服务名称不存在。例如,可能会发生拼写错误或者数据库实例名称更改而未及时更新连接描述符的情况。

1
2
3
4
5
6
7
8
9
10
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数据库监听程序未运行,则无法连到数据库实例。此情况可能是由于监听程序未正确启动、网络连接故障或服务器故障等原因引起的。

1
2
3
4
5
6
7
8
9
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错误,可以采取以下措施来解决问题:

检查连接描述符:确保连接描述符中指定的服务名称是正确的。如果服务名称发生变化,请更新连接描述符。例如下面两个连接,第一次失败,第二次成功,大家看看是什么问题呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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文件中配置的:

1
2
3
4
5
6
7
8
9
10
11
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数据库失败(ORA-12514)故障排除的文章就介绍到这了

分享到:

相关信息

  • Oracle数据库的系统结构

    1.Oracle数据库系统结构概述 2.Oracle数据库存储结构 物理存储结构 控制文件 数据文件 重做日志文件 归档日志文件 Oracle数据库逻辑结构 数据块(Data Block) (盘)区(Extent) 段(Segment) 表空间(Tablespace) 本地管...

    2023-10-31

  • Oracle19c最新版保姆级别最详细的安装配置教程

    windows下的Oracle19c 一、官网下载Oracle19c数据库 二、安装Oracle数据库 1.解压安装包 2.运行setup.exe安装 三、配置 四、安装完Oracle数据库,给scott用户解锁 1.解决Oracle数据库中没有scott账户的问题 2.给scott...

    2023-10-31

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载