最近几天刚学习oracle11g,安装完成之后直接使用,今天用PLSQL链接突然报错,报错代码为:ORA-12514:监听程序当前无法识别连接描述符中请求的服务。网上查了这种异常的解决办法,特在此记录。
出现该问题一般有两种情况。
第一种是在你安装完之后未配置监听(在此我暂时忘记安装完之后有没有配置监听);
第二种是之前配置了监听但是系统未写入到listener.ora文件中(在此我暂未搞明白什么时候写入),所以只需要在该文件中写入配置参数就可以了。
解决办法:
1、打开listener.ora文件
找到listener.ora文件的存放位置并打开。我本机文件目录在D:\app\iLife1988\product\11.2.0\dbhome_1\NETWORK/ADMIN下。该文件须根据自己安装目录的实际情况找。(注:Oracle10g与11g的目录好像不太一样)。文件内容如下图:
从上图中我们可以看出我已经配置过监听了,但是报错是由于Oracle的地址没有写到SID_DESC中,在此我们将此写入就可以了。
2、修改listener.ora文件
将以下内容追加到该文件的SID_LIST节点下
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\app\iLife1988\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)
注:标红的部分根据自己机器安装目录修改
3、我在此本机修改完毕后,总是提示我不能保存,提示说该文件已在别的地方打开。于是我另存一份,然后直接将原来的文件给覆盖掉。 修改完成之后如下图所示:
4、重启监听服务。OK搞定!!