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连接成功!!
(SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\lovelyCute\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\lovelyCute\product\11.2.0\dbhome_1\bin\oraclr11.dll") )这种情况改了不好使oracle11g