plsql连接oracle12c监听服务报错ORA-12514监听程序当前无法识别(亲测已解决)

sqlplus控制台能正常连接oracle12,但是使用plsql无法连接。

问题一、oracle12c监听服务启动后自动关闭。

**原因:**oracle12c安装成功后,修改计算机名为localhost,导致监听服务无法启动。
解决方法:
在D:\software\oracle_client\instantclient_12_2\NETWORK\ADMIN目录下,修改tnsnames.ora文件,将host改为修改后的主机名。如下图:
在这里插入图片描述
具体配置如下:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-ZXD1I9U)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

注意:个人总结:计算机名即使要修改,也不能改成localhost,亲测改成localhost之后,不管你怎么修改tnsnames.ora文件中的host为localhost,监听服务仍启动后自动关闭。

问题二、plsql连接oracle报12514监听程序当前无法识别连接描述符中请求的服务

原因:listener.ora少配置东西了。
解决方法:

原来listener.ora中只有:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = DESKTOP-ZXD1I9U))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

原因是:少配置了,修改listener.ora文件如下:

# listener.ora Network Configuration File: D:\software\oracle_client\instantclient_12_2\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

扫描二维码关注公众号,回复: 9523880 查看本文章

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-ZXD1I9U)(PORT = 1521))
  )

ADR_BASE_LISTENER = D:\software\oracle12c_data\lenovo\virtual\product\12.2.0\dbhome_1\log
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = D:\software\oracle12c_data\lenovo\virtual\product\12.2.0\dbhome_1)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
       (GLOBAL_DBNAME = orcl)
       (ORACLE_HOME = D:\software\oracle12c_data\lenovo\virtual\product\12.2.0\dbhome_1)
       (SID_NAME = orcl)
    )
  )

保存后,重新启动serviceOracle服务和监听服务,plsql连接成功!!
 

发布了509 篇原创文章 · 获赞 21 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qq_34412985/article/details/104420175
今日推荐