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.
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连接成功!!