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

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

使用plsql13连接oracle数据库,报如下错误:

https://i.788910.xyz/t/26/04/L8YjyXEVyC.png

初步判断是监听程序配置出现了问题,解决方法如下:

1)点击键盘的win+r,输入services.msc,点击确认+回车键;

https://i.788910.xyz/t/26/04/1fRajvZm57.png

2)查看oracle监听服务的状态是否是正在运行,如果没有启动,鼠标右键启动即可;

https://i.788910.xyz/t/26/04/FZpXAOjcp5.png

1)在oracle的安装目录中找到(我的在D盘)D:\oracle11g\product\11.2.0\dbhome\_1\NETWORK\ADMIN\listener.ora,如果不知道路径,也可以在计算机中搜索。

https://i.788910.xyz/t/26/04/1Rjlt0ZAbS.png

或者通过Oracle监听状态查看

lsnrctl status

https://i.788910.xyz/t/26/04/l2ioxnkG3j.png

2)在文件中的SID_LIST_LISTENER中添加代码段:

(SID_DESC =
    (GLOBAL_DBNAME = ORCL)
    (ORACLE_HOME = D:\app\adminn\product\11.2.0\dbhome_1)
    (SID_NAME = ORCL)
)
  • GLOBAL_DBNAME:全局数据库名;
  • ORACLE_HOME:填写oracle安装目录;
  • SID_NAME:一般默认都是ORCL(也可以修改)

完整的listener文件如下:

# listener.ora Network Configuration File: D:\app\adminn\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\adminn\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\adminn\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
        (GLOBAL_DBNAME = ORCL)
        (ORACLE_HOME = D:\app\adminn\product\11.2.0\dbhome_1)
        (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.29)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = D:\app\adminn

注:修改配置完成后一定要重新启动监听服务,参考第一条

https://i.788910.xyz/t/26/04/igdTSKXIwd.png