Клієнт Oracle ORA-12541: TNS: немає слухача [закрито]


81

Я новачок у базі даних Oracle, але в мене є одна проблема. На моєму сервері бази даних (server1) прослуховувач та екземпляр бази даних працюють правильно, і я можу використовувати sqlplusдля підключення до цієї БД. Коли я підключаюся до бази даних за допомогою іншого сервера, я перевіряю конфігурацію TNS, і це правильно, але система каже:

ERROR:
ORA-12541: TNS:no listener

База даних - Oracle 10gR2

То як я можу вирішити цю проблему?


4
повинно бути запитання serverfault.com / dba.stackexchange.com
Raptor

Але коли я підключаюся до бази даних за допомогою іншого сервера, ви хочете сказати, що коли ви намагаєтесь підключити ту саму базу даних із сервера?
Якоб

Я маю на увазі, що я підключаюся до сервера баз даних клієнтом за допомогою sqlplus або sql розробника на Sqldeveloper Помилка "Сталася помилка під час виконання запитуваної операції: Мережевий адаптер не зміг встановити з'єднання Код постачальника 20"
aliasosx

Отже, ви можете підключитися до бази даних за допомогою sqlplus, але не від SQL Developer?
Якоб

Ви підтвердили, що слухач знаходиться на вікні "server1", підтвердили його номер порту та перевірили TNSNames / рядок підключення на іншому сервері, що він відповідає ip / hostname та порту?
DazzaL

Відповіді:


87

Вам потрібно встановити oracle для прослуховування на всіх ip-адресах (за замовчуванням він слухає лише підключення localhost.)

Крок 1 - Редагування listener.ora

Цей файл знаходиться в:

  • Вікна %ORACLE_HOME%\network\admin\listener.ora.
  • Linux: $ ORACLE_HOME / network / admin / listener.ora

Замінити localhost на 0.0.0.0

# ...

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

# ...

Крок 2 - Перезапустіть служби Oracle

  • Windows: WinKey+r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

введіть тут опис зображення


4
Нарешті, після одного дня скрути це працює!
akki

2
Дякую! це вирішило мою проблему. Слухач на сервері DB встановлений як localhost. Помістіть ім’я хосту для комп’ютера, щоб вирішити мою проблему.
doliharahap

3
привіт, моя проблема полягає в тому, що я не можу знайти службу oracleservice, що мені робити? спасибі u
martinwang1985

3
у моїй адміністраторській папці немає файлу lister.ora, а в моїх службах немає списку "Oracle [будь-що]"
Крістін

1
Приклад для Oracle 12c:ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
Іван Чау

11

Я також зіткнувся з тією ж проблемою, але вирішив проблему, запустивши прослуховувач TNS на панелі керування -> адміністративні інструменти -> послуги -> запуск прослуховувача oracle TNS. Я використовую Windows Xp і Toad для підключення до Oracle.


я вирішую свою проблему по-вашому. моя проблема піднімається після оновлення ОС.
Істіаке Хоссен

Якщо відповіді тут не працюють , оскільки цей запитання закрито. ось моя відповідь : 1. використовуйте cmd з адміністратором та запускайте tnsping YourOracleSID, якщо є помилка, див. рішення тут, наприклад, try LSNRCTL.EXE start: sort.veritas.com/public/documents/ccser/5.2/windowsandunix/…
yu yang Jian

3

Перевірте свої імена TNS, тут не повинно бути пробілів ліворуч від ПСЕВІМЕА

З найкращими побажаннями


2

Відповідно до онлайн-документації oracle

ORA-12541: TNS: немає слухача

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.

34
Це не допомагає тим, хто не знає, як виконати запропоновану дію.
Крістін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.