Klient Oracle ORA-12541: TNS: brak nasłuchiwania [zamknięte]

82

Jestem nowy w bazie danych Oracle, ale mam jeden problem. Na moim serwerze bazy danych (server1) nasłuchiwanie i instancja bazy danych działają poprawnie i mogę użyć sqlplusdo połączenia się z tą bazą danych . Gdy łączę się z bazą danych za pomocą innego serwera, sprawdzam konfigurację TNS i jest poprawna, ale system mówi:

ERROR:
ORA-12541: TNS:no listener

Moja baza danych to Oracle 10gR2

Jak więc mogę rozwiązać ten problem?

aliasosx
źródło
4
powinno być pytanie serverfault.com / dba.stackexchange.com
Raptor
Ale kiedy łączę się z bazą danych przy użyciu innego serwera Masz na myśli to, że próbujesz połączyć się z tą samą bazą danych z serwera?
Jåcob
Chodzi mi o to, że łączę się z serwerem bazy danych przez klienta przez program sqlplus lub programista sql na Sqldeveloper Błąd "Wystąpił błąd podczas wykonywania żądanej operacji: Karta sieciowa nie mogła nawiązać połączenia Kod dostawcy 20"
aliasosx
Więc jesteś w stanie połączyć się z bazą danych za pomocą sqlplus, ale nie z SQL Developer?
Jåcob
sprawdziłeś, że nasłuchiwacz znajduje się w polu „server1”, zweryfikowałeś jego numer portu i sprawdziłeś TNSNames / parametry połączenia na innym serwerze, że pasuje do adresu IP / nazwy hosta i portu?
DazzaL

Odpowiedzi:

87

Musisz ustawić oracle, aby nasłuchiwała na wszystkich adresach IP (domyślnie nasłuchuje tylko połączeń localhost).

Krok 1 - Edytuj listener.ora

Ten plik znajduje się w:

  • Okna %ORACLE_HOME%\network\admin\listener.ora.
  • Linux: $ ORACLE_HOME / network / admin / listener.ora

wymienić localhost z 0.0.0.0

# ...

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

# ...

Krok 2 - Uruchom ponownie usługi Oracle

  • Windows: WinKey+r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

wprowadź opis obrazu tutaj

Mikael Holmgren
źródło
4
Wreszcie po jednym dniu trudności to działa!
akki
2
Dzięki! to rozwiązało mój problem. Odbiornik na serwerze DB ustawiony na localhost. Podaj nazwę hosta dla komputera, aby rozwiązać mój problem.
doliharahap
3
Cześć, mój problem polega na tym, że nie mogę znaleźć serwisu oracles, co mam zrobić? dziękuję
martinwang1985
3
w moim folderze administratora nie ma pliku lister.ora, a w moich usługach nie ma listy „Oracle [cokolwiek]”
Christine,
1
Przykład dla Oracle 12c:ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
Ivan Chau
11

Też napotkałem ten sam problem, ale rozwiązałem go, uruchamiając odbiornik TNS w panelu sterowania -> narzędzia administracyjne -> usługi -> start odbiornika oracle TNS Używam Windows Xp i Toad do łączenia się z Oracle.

subhashis
źródło
rozwiązuję swój problem na swój sposób. mój problem pojawia się po aktualizacji systemu operacyjnego.
Istiaque Hossain
Jeśli odpowiedzi tutaj nie działają , ponieważ ten quesiton jest zamknięty. oto moja odpowiedź : 1. użyj cmd z admin i uruchom tnsping YourOracleSID, jeśli wystąpi błąd, zobacz rozwiązanie tutaj, na przykład spróbuj LSNRCTL.EXE start: sort.veritas.com/public/documents/ccser/5.2/windowsandunix/ ...
yu yang Jian
3

Sprawdź swoje nazwy TNS, to nie może mieć spacji po lewej stronie ALIAS

Z poważaniem

Armand
źródło
2

Zgodnie z dokumentacją online Oracle

ORA-12541: TNS: brak słuchacza

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.
dariyoosh
źródło
34
Nie jest to pomocne dla nikogo, kto nie wie, jak wykonać sugerowane działanie.
Christine,