Oracle Veritabanına bağlanmak için nasıl bir tnsnames.ora dosyası oluşturabilirim?


22

Oracle 11g programını kurdum ve sysmanOracle veritabanına bağlanabiliyorum , ancak tnsnames.orabulabileceğim bir dosya yok .

Tnsnames.ora dosyasını kendim oluşturmam gerekir mi? Varsa nereye koyacağım? Olmazsa, Oracle benim için nasıl üretir? Oluşturmam gerekiyorsa, dosya için uygun sözdizimi nedir?

Yanıtlar:


15

Kolayca bir tnsnames.ora [text] dosyası oluşturabilirsiniz. $ ORACLE_HOME / network / admin / içinde olmalı ve şöyle görünmelidir:

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)

İyi cevap, dosyamı isimlendirmek zorunda olduğumu bulsam da $HOME/.tnsnames.ora; Yanıtta önerilen yol sqlplus tarafından göz ardı edildi.
DuffJ

@DuffJ sonra çevrenizde bir sorun var.
mucize173

11

Bir tnsnames.ora dosyası için varsayılan dizin:

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

İçindekiler:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
  • alias: bunu seçip daha sonra bağlantı dizesi olarak kullanabilirsiniz.
  • port: varsayılan değer 1521

Daha fazla bilgi burada: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm


6
Varsayılan dizin, sıralamadan başka bir şey değildir. Buna göre $ORACLE_HOMEve bu nedenle olacaktır $ORACLE_HOME/network/admin(burada $ORACLE_HOMEbirden fazla Oracle kurulum / yama seviyesinin olduğu birden fazla farklı dizin olabilir) veya $TNS_ADMINortam değişkeni tarafından geçersiz kılınabilir . Tamamen yazılımın bulunduğu kullanıcıya kalmış.
Phil

4
Dürüst olmak gerekirse, linux sistemde varsayılandır ... Eğer bir şeye dokunmazsanız oraya konur ... böylece varsayılan olur. Fakat $ ORACLE_HOME kurcalanmamışsa gerçekten daha iyi bir çözümdür.
Munchi,

Oracle'ı kelimenin tam anlamıyla yüzlerce Linux sisteminde çalıştırdım ve bu varsayılan değil, böyle bir şey de yok. Belki de belgelerdeki örnek bu demek istiyorsun, bir şey seçmek zorunda kaldılar. "Varsayılan olarak" bir / u01 dosya sistemine sahip olduğunu bildiğim hiçbir Linux dağıtımı yok, yaratmış olmalısınız ve kullanmasını Oracle'a söylemelisiniz!
Gaius

2

$ORACLE_HOME/network/admintnsnames.oraDBCA ve / veya NetCA tarafından dosyanın yaratıldığı dizin .

$ORACLE_HOMEgibi bir yoldur /u01/app ..., yükleyici tarafından geçersiz kılınmazsa, yükleyicinin varsayılan olarak kullandığı OFA uyumlu bir yoldur.


2

İşletim sisteminiz Windows 10 ise , tnsnames.oradosyayı aşağıdaki unc yolunda bulabilirsiniz:

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

myAccountWindows hesap adınız nerede .


1
Başka bir deyişle, öyle %ORACLE_HOME%\NETWORK\ADMINdeğil mi?
Andriy M,

Evet bu doğru. Varsayılan olarak, tnsnames.ora dosyasını UNIX işletim sistemlerinde $ ORACLE_HOME / network / admin dizininde ve Windows işletim sistemlerinde% ORACLE_HOME% \ network \ admin dizininde saklayın.
S. Mayol

$ ORACLE_HOME benim ortamımda benim için çalışmıyordu, bu yüzden tam yolunu bilmek gerçekten yardımcı oldu ... sadece C: \ app \ 'da olduğunu bilmek ... ... ihtiyacım olan başlangıcı verdi ve izini sürdüm. Orada. Beni arama saatleri kurtardı!
Gallus

1

Klasöre tnsnames.orayerleştirilmesi gerekenleri bildiğim kadarıyla<ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\

Belgeler burada bulunabilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.