Oracle The listener supports no services

来源:互联网 发布:通过mac地址定位手机 编辑:程序博客网 时间:2024/05/11 09:21

今天碰到这个问题  问同事 被jj了  感觉自己技术太Low了  最后厚脸皮问了搞定了。


在查看oracle监听状态的时候,会出现下面信息

[oracle@oracle11g ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 04-DEC-2017 19:09:43

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                04-DEC-2017 19:09:40
Uptime                    0 days 0 hr. 0 min. 3 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle11g/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully


The listener supports no services

这个问题怎么解决


首先关闭防火墙  因为防火墙可能关闭了1521端口

[root@oracle11g ~]# service iptables stop

[root@oracle11g ~]# chkconfig iptables off




之后去查看listen.ora里面有没有数据库信息,因为监听里面就是要保存数据库信息的。

[oracle@oracle11g ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@oracle11g admin]$ ls
listener1711296PM3821.bak  listener.ora  samples  shrept.lst
[oracle@oracle11g admin]$ vi listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

#LISTENER =
 # (DESCRIPTION_LIST =
  #  (DESCRIPTION =
   #   (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
    #  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    #)
 # )

ordb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ordb)
    )
  )


ADR_BASE_LISTENER = /u01/app/oracle


#注释了通过netca创建数据库默认写进listen.ora里面的内容,加上了

ordb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ordb)
    )
  )

里面描述了数据库的详细信息,这样通过客户端通过监听可以连接到数据库实例,实例分配server process来服务客户端。


修改配置文件之后关闭重启
[oracle@oracle11g admin]$ lsnrctl stop

[oracle@oracle11g admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 04-DEC-2017 19:15:02

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started
[oracle@oracle11g admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 04-DEC-2017 19:15:10

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                04-DEC-2017 19:14:26
Uptime                    0 days 0 hr. 0 min. 44 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle11g/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
Services Summary...
Service "oradb" has 1 instance(s).
  Instance "ordb", status READY, has 1 handler(s) for this service...
The command completed successfully
可以看到没有了之前的The listener supports no services信息了


因为数据库将实例注册到监听是每分钟注册,即不会立刻注册,要想马上将实例注册到监听就要在数据库启动状态下使用

SQL> alter system register;


这样监将实例注册到监听了就可以远程连接数据库了,而不是在本地sqlplus通过sqlplus / as sysdba来连接了。







阅读全文
1 0