ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 解决方案

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 解决方案

相信很多小伙伴在刚开始使用Oracle数据库服务器时都遇到过这样的问题:自己刚刚装好的Oracle软件,明明测试的时候sqlplus还可以连接和访问,第二天连接sqlplus时就提示:ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务;或者说在学习sqlplus的一些命令操作时,使用shutdown immediate 命令后再重新startup启动数据库实例时就提示这样的错误。

如图:
在这里插入图片描述

本文章为大家提供了 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题的一种解决方案,感兴趣的小伙伴们可以参考一下。

配置listener.ora文件

listener.ora文件用在服务器端,用来配置oracle服务端程序的监听办法。

1. 在Oeacle服务器的安装路径中找到listener.ora文件。一般在安装目录下的\oracle\product\10.2.0\db_1\NETWORK\ADMIN路径中,如图:

在这里插入图片描述

2. 先给予文件修改权限,不然没法配置。右键listener.ora->属性->安全->编辑->完全控制->确定。

在这里插入图片描述

3. 以记事本打开listener.ora文件,修改SID_LIST_LISTENER部分内容:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = BOOKSALES)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (SID_NAME = BOOKSALES)
    )
  )


GLOBAL_DBNAME和SID_NAME 设为数据库网络服务名。以ORCL和BOOKSALES为例。ORACLE_HOME和初始ORACLE_HOME一致,不做更改。

4. 修改样例如图,完成后保存文件。

在这里插入图片描述

5. 重启对应的监听器服务和数据库服务。 (可能要重启多次)

在这里插入图片描述
一般为OracleService+数据库网络服务名OracleOraDb10g_home1TNSListener服务,若因为自己配置过有所不一样的话以实际为准。

6. 重新以管理员身份打开cmd,连接sqlplus测试。

在这里插入图片描述
问题解决。

猜你喜欢

转载自blog.csdn.net/xfjssaw/article/details/109139364