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ć sqlplus
do 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?
Odpowiedzi:
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:
%ORACLE_HOME%\network\admin\listener.ora
.wymienić
localhost
z0.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
Linux (CentOs):
źródło
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
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.
źródło
tnsping YourOracleSID
, jeśli wystąpi błąd, zobacz rozwiązanie tutaj, na przykład spróbujLSNRCTL.EXE start
: sort.veritas.com/public/documents/ccser/5.2/windowsandunix/ ...Sprawdź swoje nazwy TNS, to nie może mieć spacji po lewej stronie ALIAS
Z poważaniem
źródło
Zgodnie z dokumentacją online Oracle
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.
źródło