PS:前几天装了一台oracle11g

当时的hosts文件如下


127.0.0.1               localhost
192.168.153.10          oraserver



但是切换到oracle用户,查看监听状态是提示如下


$ lsnrctl start





如图所示:

转载(总结)Oracle启动监听报错:The listener supports no services解决_oracle

提示 没有监听的服务;之前都不会出现这样的问题,难道是Hosts文件写错了;


后来照着网上的方法解决了

http://www.ha97.com/4788.html


这样启动后远程连接会报错:
oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor

问题原因:数据库实例没注册到listener

解决方法一:

在listener.ora里面添加了一行

SID_LIST_LISTENER =
(SID_LIST =
 (SID_DESC =
 (GLOBAL_DBNAME = orcl)
 (SID_NAME = orcl)
 )
)

注:里面的orcl根据你安装的数据库实例名确定,我用此法解决了这个报错。

解决方法二:

登录数据库:
$sqlplus / as sysdba
显示服务名:
SQL>show parameter service_names
强制注册服务:
SQL>alter system register;
查看监听状态:
$lsnrctl status


Services Summary...
Service "orcl" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully