Ошибка ora 12541 tns no listener

I am new on Oracle database, but I have one issue. On my Database server (server1) listener and database instance run correctly and I can use sqlplus to connect to this DB. When I connect to datab...

I am new on Oracle database, but I have one issue.
On my Database server (server1) listener and database instance run correctly and I can use sqlplus to connect to this DB.
When I connect to database by using other server, I check the TNS configuration and it is correct but system says:

ERROR:
ORA-12541: TNS:no listener

My database is Oracle 10gR2

So how can I solve this issue?

Gryu's user avatar

Gryu

2,0142 gold badges15 silver badges27 bronze badges

asked Nov 13, 2012 at 9:58

aliasosx's user avatar

10

You need to set oracle to listen on all ip addresses (by default, it listens only to localhost connections.)

Step 1 — Edit listener.ora

This file is located in:

  • Windows: %ORACLE_HOME%networkadminlistener.ora.
  • Linux: $ORACLE_HOME/network/admin/listener.ora

Replace localhost with 0.0.0.0

# ...

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

# ...

Step 2 — Restart Oracle services

  • Windows: WinKey + r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

enter image description here

Jcc.Sanabria's user avatar

answered Feb 19, 2014 at 14:58

Mikael Holmgren's user avatar

Mikael HolmgrenMikael Holmgren

2,3961 gold badge18 silver badges27 bronze badges

10

I also faced the same problem but I resolved the issue by starting the TNS listener in control panel -> administrative tools -> services ->oracle TNS listener start.I am using windows Xp and Toad to connect to Oracle.

answered Jul 1, 2013 at 5:53

subhashis's user avatar

subhashissubhashis

4,5938 gold badges36 silver badges52 bronze badges

2

Check out your TNS Names, this must not have spaces at the left side of the ALIAS

Best regards

answered Oct 31, 2013 at 0:31

Armand's user avatar

ArmandArmand

511 silver badge5 bronze badges

0

According to oracle online documentation

ORA-12541: TNS:no listener

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.

answered Nov 13, 2012 at 11:37

dariyoosh's user avatar

dariyooshdariyoosh

6041 gold badge4 silver badges12 bronze badges

1

I am new on Oracle database, but I have one issue.
On my Database server (server1) listener and database instance run correctly and I can use sqlplus to connect to this DB.
When I connect to database by using other server, I check the TNS configuration and it is correct but system says:

ERROR:
ORA-12541: TNS:no listener

My database is Oracle 10gR2

So how can I solve this issue?

Gryu's user avatar

Gryu

2,0142 gold badges15 silver badges27 bronze badges

asked Nov 13, 2012 at 9:58

aliasosx's user avatar

10

You need to set oracle to listen on all ip addresses (by default, it listens only to localhost connections.)

Step 1 — Edit listener.ora

This file is located in:

  • Windows: %ORACLE_HOME%networkadminlistener.ora.
  • Linux: $ORACLE_HOME/network/admin/listener.ora

Replace localhost with 0.0.0.0

# ...

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

# ...

Step 2 — Restart Oracle services

  • Windows: WinKey + r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

enter image description here

Jcc.Sanabria's user avatar

answered Feb 19, 2014 at 14:58

Mikael Holmgren's user avatar

Mikael HolmgrenMikael Holmgren

2,3961 gold badge18 silver badges27 bronze badges

10

I also faced the same problem but I resolved the issue by starting the TNS listener in control panel -> administrative tools -> services ->oracle TNS listener start.I am using windows Xp and Toad to connect to Oracle.

answered Jul 1, 2013 at 5:53

subhashis's user avatar

subhashissubhashis

4,5938 gold badges36 silver badges52 bronze badges

2

Check out your TNS Names, this must not have spaces at the left side of the ALIAS

Best regards

answered Oct 31, 2013 at 0:31

Armand's user avatar

ArmandArmand

511 silver badge5 bronze badges

0

According to oracle online documentation

ORA-12541: TNS:no listener

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.

answered Nov 13, 2012 at 11:37

dariyoosh's user avatar

dariyooshdariyoosh

6041 gold badge4 silver badges12 bronze badges

1

Problem

User tries to launch Controller. User receives error message on screen.

If they look at their client PC’s ‘application’ Event Log, there is an entry there, corresponding with the time when they tried to logon.

On the Controller application server, there are periodic VBRUNTIME errors.

Symptom

Client PC screen:

An error occurred while trying to access the server

Client PC Event Log:

Event Type: WarningEvent Source: Cognos ControllerEvent Category: NoneEvent ID: 0Date: 1/31/2008Time: 10:20:10 AMUser: N/AComputer: PCNAMEDescription:Error occured at 1/31/2008 10:20:10 AM in Cognos Controller, Error No=5, Source=FrangoDirect.ServerInfoD.GetServerInfo#ControllerProxyClient, Description=System.Web.Services.Protocols.SoapException: Server was unable to process request. —> System.Runtime.InteropServices.COMException (0x80004005): ORA-12541: TNS:no listener at FrServerB.ServerInfoClass.GetServerInfo(String sGuid, String sUser) at Cognos.Controller.Proxy.CCRWS.ServerInfo_GetServerInfo(String sGuid, String sUser) — End of inner exception stack trace —, HelpFile= HelpContext=0

Application Server Event Log:

    Event Type: Warning
    Event Source: VBRuntime
    Event Category: None
    Event ID: 1
    Date: 1/31/2008
    Time: 10:08:02 AM
    User: N/A
    Computer: SERVERNAME
    Description:
    The VB Application identified by the event source logged this Application FrSrvFunc: Thread ID: 3424 ,Logged: Error occured at 1/31/2008 10:08:02 AM in FrSrvFunc, Error No=-2147467259, Source=Server function:Db_CreateConnection(..) , Description=ORA-12541: TNS:no listener, HelpFile= HelpContext=0

And:

    Event Type: Error
    Event Source: VBRuntime
    Event Category: None
    Event ID: 1
    Date: 1/31/2008
    Time: 10:08:02 AM
    User: N/A
    Computer: SERVERNAME
    Description:
    The VB Application identified by the event source logged this Application FrSrvFunc: Thread ID: 3424 ,Logged: Connection Error: Udl=File Name=C:Program Filescognosc8DataDEVELOPMENT.Udl But security is OFF!!!
    Error No=-2147467259, Source=OraOLEDB, Description=ORA-12541: TNS:no listener, Native Error=12541, Sql State =

In addition, if using TNSPING, you may get the error ‘TNS-12541: TNS: no listener‘.

Cause

There are many potential causes for ‘ORA-12541 TNS:no listener’ errors. For example:

  • Scenario #1 — Tnsnames.ora file does not have the correct information required to connect to

the Oracle instance

    • See separate IBM Technote 1346169 for more details
  • Scenario #2 — Oracle server has more than one network card, but only 1 card is configured
    • See separate IBM Technote 1353150 for more details
  • Scenario #3 — IBM Cognos server has Oracle 9 client installed, but the data source is hosted on an Oracle 10 database server.
  • Scenario #4 — Server has Symantec Firewall installed. By default, this blocks TNSPING
    • See separate IBM Technote 1372042 for more details
  • Scenario #5 — Problem with sqlnet.ora file
    • See separate IBM Technote 1342952 for more details

However, this IBM Technote specifically deals with the scenario where the Oracle server was not operational/misconfigured. In one customer’s specific case, the Oracle server’s listener was not configured correctly.

Resolving The Problem

Ask Oracle DBA to check the Oracle server, to solve connection problem.

NOTE: Oracle is a third party (non-IBM) piece of software. IBM cannot give any official advice on third-party (non-IBM) products.

However, in one customer’s case, the problem was solved by deleting and re-creating the Oracle Listener.

Steps to delete/re-create an Oracle Listener:

  1. Obtain a short period of downtime
  2. Logon to Oracle server as an administrator
  3. Click «Start — Programs — Oracle — OraDb10g_home1 — Configuration and Migration Tools — Net Configuration Assistant»
  4. Select «Listener configuration» and choose ‘Next’
  5. Choose ‘Delete’.
  6. Use the wizard to delete the listener(s).
  7. Repeat steps 4, 5 and 6 until *all* listeners have been deleted
  8. Choose ‘Add’ then ‘Next’
  9. Give the listener a suitable name (for example default = LISTENER) and click ‘Next’
  10. Ensure that the ‘Selected Protocols’ is correct (typically, this should only include ‘TCP’) and click ‘Next’
  11. Choose the TCP port (typically accept the default ‘1521’) and click ‘Next’
  12. Finish
  13. Test.

Related Information

[{«Product»:{«code»:»SS9S6B»,»label»:»IBM Cognos Controller»},»Business Unit»:{«code»:»BU059″,»label»:»IBM Software w/o TPS»},»Component»:»Controller»,»Platform»:[{«code»:»PF033″,»label»:»Windows»}],»Version»:»8.2″,»Edition»:»All Editions»,»Line of Business»:{«code»:»LOB10″,»label»:»Data and AI»}}]

Historical Number

1038229

I am new on Oracle database, but I have one issue.
On my Database server (server1) listener and database instance run correctly and I can use sqlplus to connect to this DB.
When I connect to database by using other server, I check the TNS configuration and it is correct but system says:

ERROR:
ORA-12541: TNS:no listener

My database is Oracle 10gR2

So how can I solve this issue?

Gryu's user avatar

Gryu

2,0142 gold badges15 silver badges27 bronze badges

asked Nov 13, 2012 at 9:58

aliasosx's user avatar

10

You need to set oracle to listen on all ip addresses (by default, it listens only to localhost connections.)

Step 1 — Edit listener.ora

This file is located in:

  • Windows: %ORACLE_HOME%networkadminlistener.ora.
  • Linux: $ORACLE_HOME/network/admin/listener.ora

Replace localhost with 0.0.0.0

# ...

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

# ...

Step 2 — Restart Oracle services

  • Windows: WinKey + r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

enter image description here

Jcc.Sanabria's user avatar

answered Feb 19, 2014 at 14:58

Mikael Holmgren's user avatar

Mikael HolmgrenMikael Holmgren

2,3961 gold badge18 silver badges27 bronze badges

10

I also faced the same problem but I resolved the issue by starting the TNS listener in control panel -> administrative tools -> services ->oracle TNS listener start.I am using windows Xp and Toad to connect to Oracle.

answered Jul 1, 2013 at 5:53

subhashis's user avatar

subhashissubhashis

4,5938 gold badges36 silver badges52 bronze badges

2

Check out your TNS Names, this must not have spaces at the left side of the ALIAS

Best regards

answered Oct 31, 2013 at 0:31

Armand's user avatar

ArmandArmand

511 silver badge5 bronze badges

0

According to oracle online documentation

ORA-12541: TNS:no listener

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.

answered Nov 13, 2012 at 11:37

dariyoosh's user avatar

dariyooshdariyoosh

6041 gold badge4 silver badges12 bronze badges

1

ORA-12541 is the same as TNS-12541, they all indicate that the listener is not running according to your specified destination.

Let’s see how we reproduce ORA-12541 and TNS-12541.

SQL*Plus throws ORA-12541

SQL> conn hr/hr@orcl
ERROR:
ORA-12541: TNS:no listener

TNSPING throws TNS-12541

C:Usersed>tnsping compdb

TNS Ping Utility for 64-bit Windows: Version 12.1.0.1.0 - Production on 22-JUL-2014 19:20:06

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

Used parameter files:
C:oracleappclientedproduct12.1.0client_1networkadminsqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = primary01)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = compdb)))
TNS-12541: TNS:no listener

Cause

The connection cannot find the listener, it could be:

  • The listener is not started.
  • This is the most common problem of ORA-12541 we have met. Just start it up and make sure it’s running.

  • The listener is listening to another port other than the default one, e.g. 1522.
  • Backup port like 1522 may be used by the listener for connection, you should ask for DBA to handle it.

  • The connection went for the wrong database server.
  • Please check every parameter in your connect descriptor and make sure they are correct.

  • Routing to the wrong destination.
  • It’s rare, but it did happen in a very complex network environment. Part of connections are routed by some network device to an unknown server where no listener on port 1521.

Solution

Check the status and port of LISTENER on server side and start it if necessary.

[oracle@primary01 ~]$ lsnrctl status

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 22-JUL-2014 19:22:34

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=primary01)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

As you can see, the database port is 1521 without questions. But the listener is not started. So let’s start it up.

[oracle@primary01 ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 22-JUL-2014 19:23:59

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

Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/primary01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=primary01)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                22-JUL-2014 19:23:59
Uptime                    0 days 0 hr. 0 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/primary01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=primary01)(PORT=1521)))
The listener supports no services
The command completed successfully

For more testing skills, you may check Oracle 19c Net Services Administrator’s Guide: 15 Testing Connections.

when i was trying to connect my remote server as-

sqlplus SYSTEM/oracle@192.168.0.171:1521/kannel

it shows me this error-

SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 15 15:36:52 2013
copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-12541: TNS:no listener

I have checked my listener, it is running

[root@roracle bin]# ./lsnrctl status

 LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-NOV-2013 15:42:24

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 111: Connection refused
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 111: Connection refused

tnsnames.ora file contain —

KANNEL =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
     (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = kannel)
     )
 )

listener.ora file contain

SID_LIST_LISTENER =
(SID_LIST =
 (SID_DESC =
   (GLOBAL_DBNAME = kannel)
   (ORACLE_HOME = /opt/u01/app/product/11.2.0/dbhome_1)
   (SID_NAME = kannel)
 )
)

LISTENER=
 (DESCRIPTION_LIST =
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
   )
  )
 )

sqlnet.ora file contain-

SQLNET.AUTHENTICATION_SERVICES= (ALL)

NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES,HOSTNAME)

Oracle home path —

$ORACLE_HOME=/opt/u01/app/product/11.2.0/dbname_1

Oracle base path —

$ORACLE_BASE=/opt/u01/app

i have set environment variable

[root@roracle bin]# env | sort

}
_=/bin/env
CVS_RSH=ssh
G_BROKEN_FILENAMES=1
HISTCONTROL=ignoredups
HISTSIZE=1000
HOME=/root
HOSTNAME=roracle
LANG=en_IN
LESSOPEN=|/usr/bin/lesspipe.sh %s
LOADEDMODULES=
LOGNAME=root
LS_COLORS=rs=<......something........>:
MAIL=/var/spool/mail/root
module=() {  eval `/usr/bin/modulecmd bash $*`
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
MODULESHOME=/usr/share/Modules
OLDPWD=/root
ORACLE_BASE=/opt/u01/app/
ORACLE_HOME=/opt/u01/app/product/11.2.0/dbhome_1
ORACLE_SID=kannel
PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/opt/u01/app/product/11.2.0/dbhome_1/bin
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=192.168.0.83 35604 22
SSH_CONNECTION=192.168.0.83 35604 192.168.0.171 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=root

When i access database as a localhost —

./sqlplus / as sysdba[oracle@roracle bin]$ ./sqlplus / as sysdba

 SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 15 16:04:02 2013

 Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 Connected to an idle instance.

 SQL> select v$database;
 select v$database
 *
 ERROR at line 1:
 ORA-01034: ORACLE not available
 Process ID: 0
 Session ID: 0 Serial number: 0

I Don’t understand where i am mistaking…..Can somebody help?

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Ошибка ora 12505
  • Ошибка ora 04031
  • Ошибка ora 03114
  • Ошибка ora 01555
  • Ошибка ora 01033 oracle

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии