oracle 监听程序不支持任何服务

sgtfey8w  于 2022-12-11  发布在  Oracle
关注(0)|答案(2)|浏览(272)

我已经检查了listener.ora,net manager,但是它仍然显示错误

Error:C:\Windows\system32>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-MAY-2016 23:36:55

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

Starting tnslsnr: please wait...

TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Log messages written to f:\app\hegde\diag\tnslsnr\hegde-pc\listener\alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hegde-pc)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date                01-MAY-2016 23:37:00
Uptime                    0 days 0 hr. 0 min. 4 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         f:\app\hegde\diag\tnslsnr\hegde-pc\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hegde-pc)(PORT=1521)))
The listener supports no services
The command completed successfully

listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = PRIMARY)
      (ORACLE_HOME = F:\app\Hegde\product\11.2.0\dbhome_1)
      (SID_NAME = PRIMARY)
    )
(SID_DESC =
      (GLOBAL_DBNAME = PRIMARY_DGMGRL)
      (ORACLE_HOME = F:\app\Hegde\product\11.2.0\dbhome_1)
      (SID_NAME = PRIMARY)
    )
(SID_DESC =
      (GLOBAL_DBNAME = STANDBY)
      (ORACLE_HOME = F:\app\Hegde\product\11.2.0\dbhome_1)
      (SID_NAME = STANDBY)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = STANDBY_DGMGRL)
      (ORACLE_HOME = F:\app\Hegde\product\11.2.0\dbhome_1)
      (SID_NAME = STANDBY)
    )
  )

listener.ora网络配置文件:

# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = hegde-pc)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = F:\app\Hegde

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON      # line added by Agent
kyks70gy

kyks70gy1#

When it first starts up, the database tries to register its service name(s) with the listener. If it is unable to do so - for example if the listener is down - then it tries again periodically.
So it is expected that if the listener starts after the database then it can initially say "the listener supports no services", and the there is a delay before lsnrctl services shows the database service names, and so there is also a delay before a service name is recognised when you try to connect to it.
It is possible for the listener and/or database to be configured in a way that means the database cannot register, either automatically or manually with alter system register . But in your case you are just seeing the expected delay before automatic registration occurs.

rjee0c15

rjee0c152#

Solution is very simple for this error, first, let's understand why this error occurs. It basically has two reasons which are:

  1. Your database and service name is not properly set in Oracle environment it should be same everywhere check below parameter values
-ORACLE_SID in oracle environment.
-SID_NAME in tnsnames.ora file.
-SERVICE_NAME in listener.ora file.
  1. Host name/IP address is missing, not correct or spelling mistake, so please check the below.
-Check the IP ADDRESS in /etc/hosts file.
-It should be same in listener.ora and tnsnames.ora file
-And it should be able to ping from the local and remote server.

Now see I've also faced the same problem and resolved:
please visit this StackOverflow link: https://stackoverflow.com/a/45065640/6332029
I hope it will help, thanks!

相关问题