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?

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)
 )
)

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


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.


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.