Bagaimana cara menghasilkan file tnsnames.ora untuk terhubung ke Database Oracle?

22

Saya telah menginstal Oracle 11g, dan saya dapat terhubung sysmanke database Oracle, tetapi tidak ada tnsnames.orafile yang dapat saya temukan.

Apakah saya perlu membuat file tnsnames.ora sendiri? Jika demikian, di mana saya meletakkannya? Jika tidak, bagaimana cara Oracle menghasilkannya untuk saya? Jika saya perlu membuatnya, apa sintaksis yang sesuai untuk file?

pengguna897237
sumber

Jawaban:

15

Anda dapat dengan mudah membuat file [teks] tnsnames.ora. Itu harus dalam $ ORACLE_HOME / network / admin / dan akan terlihat seperti ini:

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)
Harun
sumber
Jawaban yang bagus, meskipun saya menemukan bahwa saya harus memberi nama file saya $HOME/.tnsnames.ora; jalan yang disarankan dalam jawaban tampaknya diabaikan oleh sqlplus.
DuffJ
@DuffJ maka ada yang salah dengan lingkungan Anda.
miracle173
11

Direktori default untuk file tnsnames.ora adalah

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

Isi:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
  • alias: Anda dapat memilih ini dan menggunakannya sebagai string koneksi nanti.
  • port: standarnya adalah 1521

Info lebih lanjut di sini: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm

Munchi
sumber
6
Direktori default tidak seperti itu. Ini relatif terhadap $ORACLE_HOMEdan karenanya $ORACLE_HOME/network/admin(di mana $ORACLE_HOMEbisa terdapat beberapa direktori berbeda di mana terdapat lebih dari satu tingkat instal / pasang Oracle) atau dapat ditimpa oleh $TNS_ADMINvariabel lingkungan. Ini sepenuhnya tergantung pada pengguna tempat perangkat lunak berada.
Philᵀᴹ
4
Jujur itu adalah default pada sistem linux ... Jika Anda tidak menyentuh apa pun itu akan diletakkan di sana ... sehingga menjadi default. Tetapi $ ORACLE_HOME jika tidak dirusak memang merupakan solusi yang lebih baik.
Munchi
Saya telah menjalankan Oracle pada ratusan sistem Linux dan itu BUKAN default, juga tidak ada hal seperti itu. Mungkin maksud Anda itulah contoh dalam dokumentasi, ya mereka harus memilih sesuatu. Tidak ada distro Linux yang saya tahu memiliki sistem file / u01 "secara default", Anda harus membuatnya dan menyuruh Oracle untuk menggunakannya!
Gayus
2

$ORACLE_HOME/network/adminadalah direktori tempat tnsnames.orafile dibuat oleh DBCA dan / atau NetCA.

$ORACLE_HOMEadalah path like /u01/app ..., ini adalah path yang sesuai dengan OFA yang digunakan oleh installer sebagai default jika tidak diganti oleh installer.

Sam Ravindhran
sumber
2

Jika OS Anda adalah Windows 10 , Anda dapat menemukan tnsnames.orafile di jalur unc berikut:

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

Di mana myAccountnama akun Windows Anda.

S. Mayol
sumber
1
Dengan kata lain %ORACLE_HOME%\NETWORK\ADMIN, kan?
Andriy M
Ya itu benar. Ingat Oracle secara default menyimpan tnsnames.ora di direktori $ ORACLE_HOME / network / admin pada sistem operasi UNIX dan dalam direktori% ORACLE_HOME% \ network \ admin pada sistem operasi Windows.
S. Mayol
$ ORACLE_HOME tidak bekerja untuk saya di lingkungan saya, jadi mengetahui jalur lengkap benar-benar membantu ... hanya mengetahui itu ada di C: \ app \ ... memberi saya awal yang saya butuhkan dan saya dapat melacaknya dari sana. Menyelamatkan saya berjam-jam mencari!
Gallus
1

Sejauh yang saya tahu tnsnames.orakebutuhan untuk ditempatkan di <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\folder

Dokumentasi dapat ditemukan di sini

Ular berbisa
sumber