cmd里面lsnrctl status显示监听程序不支持服务
原因F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora丢失。。
于是从其他电脑复制一个,重新启动监听,问题解决,下面是好的listener.ora
# listener.ora Network Configuration File: F:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
参考:
http://www.itpub.net/thread-1507890-1-1.html
http://blog.sina.com.cn/s/blog_028f0c1c0100s2qb.html
--------------------------------------------------------------------------------------------------------
以下转载:
http://blog.sina.com.cn/s/blog_028f0c1c0100s2qb.html
oracle11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务_监听程序不支持服务
一、oracle报错
ORA-12514
我在使用PL/SQL Developer 工具连接oracle 11g ,当使用用户登录时(scott/tiger)报错:
ORA-12514: TNS :监听程序当前无法识别连接描述符中请求的服务_监听程序不支持服务
解决办法:
一般提示监听程序无法识别,有两种情况。一种是你安装完后未配置监听,这种情况较少;第二种是之前配置了监听但是系统未写入listener.ora文件中,只要在该文件中写入配置参数就能解决问题了。
1). 修改listener.ora文件
找到listener.ora文件的存放位置,并打开。我的该文件存放在(D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN)中。
注意:每个人在装oracle时由于安装文件存放的位置不一样,该文件所在的盘也不一样,自己根据装的盘里去找。app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN这个路径多数是一样的。
2). 看默认的listener.ora文件里是什么样的
我的listener.ora文件默认是如下状态:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME =ORCL)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
从上面的LISTENER中可以看出我已经配置过监听了,但是报错是由于oracle的地址没写到SID_DESC中。
3). 修改listener.ora文件
在SID_DESC中写入oracle的地址:
(ORACLE_HOME =
D:\app\Administrator\product\11.1.0\db_1
)
注意:这里的
ORACLE_HOME,找到db_1文件的路径就行了。多数人的路径都会是app\Administrator\product\11.1.0\db_1这个,少数人的可能在app和Administrator之间还会有个文件夹。
4).修改后listener.ora文件的完整内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME =
ORCL)
(ORACLE_HOME =D:\app\Administrator\product\11.1.0\db_1)
(SID_NAME =
ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
注意:黑色加粗的内容是添加进去的
ORACLE_HOME路径,即要完整加入的内容。
红色的两个ORACLE分别是自己的“全局数据库名”和“sid"名,要根据自己的实际名称来一致的检查,如果不是你之前定义好的“全局数据库名”和“sid"名,就要自己该一下。
ORA-12514错误已经改好了,下面需要重启数据库才能生效。(具体的重启方法可参照下一篇日志,如果改完后报ora-01034:oraclenot available错误,那在下一篇日志中将详细介绍。)