Ошибка oracle 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 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,0622 gold badges16 silver badges29 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,4161 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,6198 gold badges37 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.

Есть 2 сервера oracle в одном широковещательном диапазоне без firewall.
При попытке подключится с одного хоста на другой

sqlplus login/password@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<IP> )(PORT=1524))(CONNECT_DATA=(SID=<SID>)))"

выдаёт
ORA-12541: TNS:no listener
при этом база запущена и listener стоит. а также при подключении с ошибкой (т.е ввожу неправильный пароль), соединение разрывается

Listener.ora

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

ADR_BASE_LISTENER = /u01/aux

Oracle ORA-12541: TNS: нет прослушивателя

Теги: база данных Oracle


Сегодня я использовал базу данных Oracle. При использовании средства визуального соединения для подключения к базе данных тестовой среды мне было предложено, что нет прослушивателя. Наконец-то я, наконец, получил его с помощью учителя! ︿ ( ̄︶ ̄) ︿

Проблема:

ORA-12541: TNS: нет слушателя

Решение:

  1. Проверьте, может ли слушатель нормально стартовать, используйте ввод «windows + R»cmd,
    Введите в командной строкеlsnrctl startЧтобы проверить, работает ли слушатель нормально, если он нормальный, он выдаст запрос:
    TNS-01106: Слушатель с именем LISTENER запущен

    image_1cjqiblm71h663ph8ph129rqbmp.png-142.5kB

    Если не работает, вы можете использовать
    lsnrctl status Команда для просмотра статуса сервиса,
    lsnrctl reload Для перезапуска службы прослушивания
    lsnrctl stop Чтобы закрыть службу прослушивания
    lsnrctl start Чтобы запустить службу прослушивания

    Если служба мониторинга по-прежнему не перезапускается, предложите:
    Подключение к (ОПИСАНИЕ = (АДРЕС = (PROTOCOL = IPC) (KEY = EXTPROC1521))) TNS-12541: TNS: нет прослушивателя TNS-12560: TNS: ошибка адаптера протокола TNS-00511: нет прослушивателя 64-разрядных Windows Ошибка: 2: Нет такого файла или каталога, к которому подключается (ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = TCP) (ХОСТ = localhost) (ПОРТ = 1521))) TNS-12541: TNS: Нет прослушивателя TNS-12560: TNS: Ошибка адаптера протокола TNS-00511: 64-разрядная ошибка Windows: 61: неизвестная ошибка
    Затем начните сКак администратор запустить cmd (Расположение CMD: C: Windows system32)
    Введите следующую команду в cmd, чтобы перезапустить службу прослушивания;

    net start "OracleOraDb11g_home1TNSListener"
  2. Использование команд в командной строкеtnsping IP-адрес Чтобы проверить, нормально ли работает IP-прослушивание (например, tnsping 192.168.20.181)
    для проверки правильности настройки службы tnsnames.ora

    image_1cjqkuuus9ac1ie4u71qpt3gk16.png-39.1kB

  3. Проверьте наличие проблем с брандмауэром.
  4. Корень: файл listener.ora. (Не забудьте сделать резервную копию перед изменением !!!)
# listener.ora Network Configuration File: D:Oracle11gproduct11.2.0dbhome_1networkadminlistener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:Oracle11gproduct11.2.0dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:Oracle11gproduct11.2.0dbhome_1binoraclr11.dll")
    )
  )

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

ADR_BASE_LISTENER = D:Oracle11g

Настройки сервиса, связанные с Oracle

Наконец, поскольку служба базы данных Oracle занимает слишком много системных ресурсов (конфигурация компьютера невозможна …), я написал пакет, чтобы установить метод запуска связанных служб Oracle (установить вручную) и включить или отключить связанные службы Oracle.
Сохраните следующий код какНастройки сервиса, связанные с Oracle. Дважды щелкните, чтобы открыть соответствующую службу при каждом подключении к Oracle с помощью инструмента визуализации, и дважды щелкните, чтобы закрыть соответствующую службу после использования.

image_1cjqlq17b328uu7bvs3f1u1s19.png-811.5kB

image_1cjqlsr4e13091ip91a13jqsrua1m.png-730.4kB

@echo off
 название Oracle Service Setting Tool Автор: Ryanjie
mode con lines=38 cols=88
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"


:main
color 2f
echo.---------------------------------------------------------------------------------------+
echo %date%   %time:~0,8%
 :: эхо% дата года ~ 0,4%:% дата месяца ~ 5,2%:% дата дня ~ 8,2% 
::echo %time%
echo.
 echo TODO: инструмент настройки службы Oracle
echo.
echo   Author:      Ryanjie
echo.
 Функция echo: этот пакет автоматически устанавливает, запускает и останавливает службы Oracle
echo.
 echo ПРЕДУПРЕЖДЕНИЕ. Если имеются напоминания о программном обеспечении безопасности, такие как 360 и Computer Manager, проверьте разрешение доверия и больше не напоминайте!
echo.
pause
echo.
 Отобразите связанные службы Oracle (можно изменить в соответствии с именем службы вашего компьютера, обратите внимание, что «имя службы» не является «отображаемым именем»)
echo                          『OracleOraDb11g_home1ClrAgent』
echo                          『OracleOraDb11g_home1TNSListener』
echo                          『OracleServiceORCL』
echo                          『Oracle ORCL VSS Writer Service』
echo                          『OracleDBConsoleorcl』
echo                          『OracleJobSchedulerORCL』
echo                          『OracleMTSRecoveryService』
echo   
echo
echo.---------------------------------------------------------------------------------------+
echo.
 Пожалуйста, выберите использовать эхо:
echo.
 echo 1. Настройте связанные службы Oracle для запуска вручную (т.е. введите 1 ниже)
echo.
 echo 2. Запустите связанные с Oracle сервисы (т.е. введите 2 ниже)
echo.
 echo 3. Остановите связанные с Oracle сервисы (т.е. введите 3 ниже)
echo.
echo.---------------------------------------------------------------------------------------+
if exist "%SystemRoot%System32choice.exe" goto Win7Choice
 set / p choice = Пожалуйста, введите номер и нажмите Enter для подтверждения:
echo.
if %choice%==1 goto sc
if %choice%==2 goto start
if %choice%==3 goto stop
"set choice="
 echo Вы ввели неправильно, пожалуйста, выберите снова.
ping 127.0.1 -n "2">nul
cls
goto main


:Win7Choice
 choice / c 123 / n / m "Пожалуйста, введите соответствующий номер:"
if errorlevel 3 goto stop
if errorlevel 2 goto start
if errorlevel 1 goto sc
cls
goto main


:sc
cls
color 2f
echo.---------------------------------------------------------------------------------------+
echo.
sc config "OracleOraDb11g_home1ClrAgent" start= demand
sc config "OracleOraDb11g_home1TNSListener" start= demand
sc config "OracleServiceORCL" start= demand
sc config "Oracle ORCL VSS Writer Service" start= demand
sc config "OracleDBConsoleorcl" start= demand
sc config "OracleJobSchedulerORCL" start= demand
sc config "OracleMTSRecoveryService" start= demand
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
 :: эхо% дата года ~ 0,4%:% дата месяца ~ 5,2%:% дата дня ~ 8,2% 
::echo %time%
echo.
 echo Поздравляем, Oracle связанные сервисы
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo.                          『Oracle ORCL VSS Writer Service』
echo.                          『OracleDBConsoleorcl』
echo.                          『OracleJobSchedulerORCL』
echo.                          『OracleMTSRecoveryService』
echo. 
 echo. был успешно настроен на запуск вручную!
echo. 
echo.---------------------------------------------------------------------------------------+
goto end


:start
cls
color 2f 
echo.---------------------------------------------------------------------------------------+
echo.
 :: Следующие четыре услуги запускаются в соответствии с личными потребностями                                                                                              
net start "OracleOraDb11g_home1ClrAgent"
net start "OracleOraDb11g_home1TNSListener"
net start "OracleServiceORCL"
::net start "Oracle ORCL VSS Writer Service"
::net start "OracleDBConsoleorcl"
::net start "OracleJobSchedulerORCL"
::net start "OracleMTSRecoveryService"  
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
 :: эхо% дата года ~ 0,4%:% дата месяца ~ 5,2%:% дата дня ~ 8,2% 
::echo %time%
echo.
 echo Поздравляем, Oracle связанные сервисы
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo. 
echo.  
 эхо. Успешно началось!
echo. 
echo.---------------------------------------------------------------------------------------+
goto end


:stop
cls
color 2f
echo.---------------------------------------------------------------------------------------+
echo.
net stop "OracleOraDb11g_home1ClrAgent"
net stop "OracleOraDb11g_home1TNSListener"
net stop "OracleServiceORCL" 
 :: Если четыре службы ниже были открыты выше, удалите «rem» перед
net stop "Oracle ORCL VSS Writer Service"
net stop "OracleDBConsoleorcl"
net stop "OracleJobSchedulerORCL"
net stop "OracleMTSRecoveryService"  
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
 :: эхо% дата года ~ 0,4%:% дата месяца ~ 5,2%:% дата дня ~ 8,2% 
::echo %time%
echo.
 echo Поздравляем, Oracle связанные сервисы
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo.  
 эхо. Закрыто успешно!
echo. 
echo.---------------------------------------------------------------------------------------+
goto end


:end
 эхо Нажмите любую клавишу для выхода.
@Pause>nul

Перепечатано по адресу: https://www.cnblogs.com/ryanjan/p/9403688.html.

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?

N no. of articles you will find on the internet about “ORA-12541 TNS no listener error” but still finding an effective solution. Don’t worry this solution helped me a lot and I hope it will help you too.

I got the same issue while working on Oracle 10g database then I decided to share my experience and steps to resolve this issue.

Error Message:

ORA-12541 TNS no listener error

Resolution:

Now you have to follow below mentioned steps to resolve the ORA-12541 issue.

Step-1: First check your listener status.

C:>lsnrctl status

The above command will show the current status of your listener.

Step-2: Start the listener, if listener is not running.

C:>lsnrctl start

This command will start all your listener services.

Step-3: Stop the listener, if listener is running.

C:>lsnrctl stop

This command will stop all your listener services.

Step-4: Now restart the listener.

C:>lsnrctl reload

This command will restart all your listener services.

Note: If you want to see all the available listener commands. Type lsnrtcl help on command prompt and you will get all available options.

C:>lsnrctl help

LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 – Production on 02-JUL-2015 20:25:14

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

The following operations are available
An asterisk (*) denotes a modifier or extended command:

start                           stop                status
services                     version           reload
save_config              trace               change_password
quit                            exit                  set*
show*

Step-5: One last and very important thing which you have to do.

Open sqlnet.ora file and make the changes as suggested.

ora-12541-error

Change NTS to NONE

SQLNET.AUTHENTICATION_SERVICES = (NONE)

Now restart the listener services and your listener problem ORA-12541 will be resolved.

If this is not working, do write in comment section. I will try to help you at the earliest.

Понравилась статья? Поделить с друзьями:
  • Ошибка ox80070422 windows 7
  • Ошибка oracle ora 20000
  • Ошибка ox8007025d при установке windows
  • Ошибка oracle ora 06550
  • Ошибка ox80070057 как исправить