Jak wygenerować plik tnsnames.ora, aby połączyć się z bazą danych Oracle?

22

Zainstalowałem Oracle 11g i mogę połączyć sysmansię z bazą danych Oracle, ale nie tnsnames.oramogę znaleźć pliku.

Czy muszę samodzielnie wygenerować plik tnsnames.ora? Jeśli tak, to gdzie go umieścić? Jeśli nie, w jaki sposób Oracle to dla mnie generuje? Jeśli muszę go wygenerować, jaka jest odpowiednia składnia pliku?

użytkownik897237
źródło

Odpowiedzi:

15

Możesz łatwo utworzyć plik tnsnames.ora [tekstowy]. Powinien być w $ ORACLE_HOME / network / admin / i powinien wyglądać mniej więcej tak:

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)
Aaron
źródło
Dobra odpowiedź, chociaż stwierdziłem, że muszę nazwać mój plik $HOME/.tnsnames.ora; ścieżka sugerowana w odpowiedzi wydawała się być ignorowana przez sqlplus.
DuffJ
@DuffJ, więc coś jest nie tak z twoim środowiskiem.
cud 173
11

Domyślny katalog dla pliku tnsnames.ora to

/u01/app/oracle/product/<version>/<dbname>/network/admin/tnsnames.ora

Zawartość:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
  • alias: możesz wybrać to i użyć później jako ciągu połączenia.
  • port: domyślnie jest to 1521

Więcej informacji tutaj: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm

Munchi
źródło
6
Domyślny katalog nie jest podobny. Jest względny $ORACLE_HOMEi dlatego będzie $ORACLE_HOME/network/admin(gdzie $ORACLE_HOMEmoże być wiele różnych katalogów, w których jest więcej niż jeden poziom instalacji / łaty Oracle) lub może zostać zastąpiony przez $TNS_ADMINzmienną środowiskową. To zależy całkowicie od użytkownika, w którym znajduje się oprogramowanie.
Philᵀᴹ
4
Szczerze mówiąc, jest to ustawienie domyślne w systemie linux ... Jeśli niczego nie dotkniesz, zostanie ono tam umieszczone ... a zatem będzie domyślne. Ale $ ORACLE_HOME, jeśli nie zostanie zmieniony, jest rzeczywiście lepszym rozwiązaniem.
Munchi,
Uruchomiłem Oracle na dosłownie setkach systemów Linux i to NIE jest domyślne, ani nie ma czegoś takiego. Być może masz na myśli taki przykład w dokumentacji, więc musieli coś wybrać. Nie ma żadnej dystrybucji Linuksa, o której wiem, że ma system plików / u01 „domyślnie”, musiałeś go stworzyć i powiedzieć Oracle, aby go używał!
Gaius
2

$ORACLE_HOME/network/admin to katalog, w którym tnsnames.ora plik jest tworzony przez DBCA i / lub NetCA.

$ORACLE_HOMEjest ścieżką podobną /u01/app ...do ścieżki zgodnej z OFA, z której instalator korzysta domyślnie, o ile nie zostanie zastąpiony przez instalator.

Sam Ravindhran
źródło
2

Jeśli twój system operacyjny to Windows 10 , możesz znaleźć tnsnames.oraplik w następującej ścieżce:

C:\app\myAccount\product\11.2.0\dbhome_1\NETWORK\ADMIN

Gdzie myAccountjest nazwa twojego konta Windows.

S. Mayol
źródło
1
Innymi słowy %ORACLE_HOME%\NETWORK\ADMIN, prawda?
Andriy M
Tak to prawda. Zapamiętaj Oracle domyślnie przechowuj tnsnames.ora w katalogu $ ORACLE_HOME / network / admin w systemach operacyjnych UNIX oraz w katalogu% ORACLE_HOME% \ network \ admin w systemach operacyjnych Windows.
S. Mayol,
$ ORACLE_HOME nie działało dla mnie w moim środowisku, więc znajomość pełnej ścieżki naprawdę pomogła ... sama znajomość w C: \ app \ ... dała mi początek, którego potrzebowałem i mogłem ją wyśledzić z tam. Zaoszczędziłem godziny poszukiwań!
Gallus
1

O ile wiem, tnsnames.oranależy umieścić w <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\folderze

Dokumentacja znajduje się tutaj

Żmija
źródło