在服务器上安装oracle后,一直报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”这个错误,按照网上找的办法始终没有修改成功,最后反复比对,终于发现有一处不同的地方,在cmd命令窗口中输入lsnrctl status
没有创建好的orcl这个实例。
在网上找到一种办法,修改listener.ora (我的位置:D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN),加上标注红色这个段。
# listener.ora Network Configuration File: D:appAdministratorproduct11.2.0dbhome_1
etworkadminlistener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:appAdministratorproduct11.2.0dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:appAdministrator)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ecs-2697-0001)(PORT = 1522))
)
)
ADR_BASE_LISTENER = D:appAdministrator
修改后,再输入lsnrctl status 就出现 orcl 这个实例啦,ORA-12514这个问题也得到解决。
注:以上的办法不是解决ORA-12514的传统方式,只是遇到的一种特殊的问题。中间过程中翻看其他帖子的时候,基本上都是listener.ora和tnsnames.ora配置的问题以及这两个文件中出现空格的情况。
之前安装的很多次都没有加上这一段都没发现这个问题,最后也没找到原因,对oracle理解的不深,有知道的欢迎留言交流。