oracle启动监听报错:The listener supports no services解决

  • A+

今天将NC6.5应用服务器和ORACLE 11g数据库服务器托管到中国移动机房,完成IP地址的更改和相关设置,启动ORACLE服务器并打开监听。

  1. [root@web02 ~]# su - oracle  
  2. [oracle@web02 ~]$ lsnrctl start  

出现如下错误提示信息:

 
  1.  
  2.   
  3. LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 11-JUN-2019 12:17:29  
  4.   
  5. Copyright (c) 1991, 2011, Oracle.  All rights reserved.  
  6.   
  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=web02)(PORT=1521)))  
  8. TNS-12535: TNS:operation timed out  
  9.  TNS-12560: TNS:protocol adapter error  
  10.   TNS-00505: Operation timed out  
  11.   
  12. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))  
  13. STATUS of the LISTENER  
  14. ------------------------  
  15. Alias                     LISTENER  
  16. Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production  
  17. Start Date                11-JUN-2019 10:14:01  
  18. Uptime                    0 days 2 hr. 4 min. 28 sec  
  19. Trace Level               off  
  20. Security                  ON: Local OS Authentication  
  21. SNMP                      OFF  
  22. Listener Parameter File   /home/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora  
  23. Listener Log File         /home/app/oracle/diag/tnslsnr/web02/listener/alert/log.xml  
  24. Listening Endpoints Summary...  
  25.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=web02)(PORT=1521)))  
  26.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))  
  27. The listener supports no services  
  28. The command completed successfully  

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

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

解决方法一:

在listener.ora里面添加下面各行:

  1. SID_LIST_LISTENER =    
  2. (SID_LIST =    
  3.   (SID_DESC =    
  4.   (GLOBAL_DBNAME = orcl)  
  5.   (SID_NAME = orcl)  
  6.   )  
  7. )  

注:orcl根据所安装的数据库实例名确定,将上面的代码加到原始的listener.ora后面,重启监听,问题解决。

解决方法二:

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

注:刚开始想用方法二来解决,但最终没有成功。

moonrong
  • 版权声明:本站原创文章,于2019年6月11日16:59:04,由 发表,共 1814 字。
  • 版权声明: 本文由于2019年6月11日16:59:04 发表在 好派笔记,共 1814 字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: