在服务器上安装oracle后,一直报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”这个错误,按照网上找的办法始终没有修改成功,最后反复比对,终于发现有一处不同的地方,在cmd命令窗口中输入lsnrctl status
没有创建好的orcl这个实例。
在网上找到一种办法,修改listener.ora (我的位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN),加上标注红色这个段。
# listener.ora Network Configuration File: D:\app\Administrator\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\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\app\Administrator) (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:\app\Administrator
修改后,再输入lsnrctl status 就出现 orcl 这个实例啦,ORA-12514这个问题也得到解决。
注:以上的办法不是解决ORA-12514的传统方式,只是遇到的一种特殊的问题。中间过程中翻看其他帖子的时候,基本上都是listener.ora和tnsnames.ora配置的问题以及这两个文件中出现空格的情况。
之前安装的很多次都没有加上这一段都没发现这个问题,最后也没找到原因,对oracle理解的不深,有知道的欢迎留言交流。