Temat: Startup/Shutdown:Specify Host and Target Database...
No i co wiele bardzo wiele osób zmyliło i będzie mylić .. tnsping wcale nie służy do sprawdzania połączenia z bazą, tylko z listenerem !
Dokładnie :). To jeden z najczęstszych błędów popełnianych przy diagnostyce.
Argumentem tnsping (w najprosztej konfiguracji wykorzystującej plik tnsnames.ora) jest tzw. nazwa_usługi, czasem mówi się na to również "alias".
Przykładowo, jeśli w pliku tnsnames.ora mamy:
SZKOL_SERV =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = wkl30001-483)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID=szkol)
)
)
to wykonanie tnsping szkol_serv nie powoduje połączenie się z bazą SZKOL_SERV, bo takiej nie ma, ale połączenie się z procesem LISTENERA, nasłuchującym na porcie 1521, uruchomionym na maszynie, która nazywa się wkl30001-483. Co więcej baza danych o SIDzie szkol (jak w powyższym przykładzie) nie musi być uruchomiona, aby tnsping w tym wypadku dał pozytywny rezultat:
C:\Documents and Settings\darek>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-KWI-2009 23:19:46
Copyright (c) 1991, 2006, Oracle. All rights reserved.
Łączenie z (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STAN NASúUCHU
------------------------
Alias LISTENER
Wersja TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Production
Data rozpoczŕcia 21-KWI-2009 23:10:51
Czas działania 0 dni 0 h 8 min. 54 s
Poziom śladu off
Zabezpieczenie ON: Local OS Authentication
SNMP OFF
Plik parametrów nasłuchu C:\Oracle\app\oracle\product\10.2.0\db_1\network\admin\listener.ora
Plik dziennika nas│uchu C:\Oracle\app\oracle\product\10.2.0\db_1\network\log\listener.log
Nasłuch punktów końcowych - podsumowanie...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wkl30001-483.pl.tesco-europe.com)(PORT=1521)))
Nasłuch nie zapewnia usług
Polecenie zakończone powodzeniem
C:\Documents and Settings\darek>tnsping szkol_serv
TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 21-KWI-2009 23:20:06
Copyright (c) 1997, 2006, Oracle. All rights reserved.
Użyte pliki parametrów:
C:\Oracle\app\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
Użyto adaptera TNSNAMES w celu rozstrzygnięcia tego aliasu
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = wkl30001-483)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SID = SZKOL)))
OK (10 ms)
Dariusz W. edytował(a) ten post dnia 21.04.09 o godzinie 23:23