Як створити файл tnsnames.ora для підключення до бази даних Oracle?


22

Я встановив Oracle 11g, і я можу підключитися як sysmanдо бази даних Oracle, але жодного tnsnames.oraфайлу я не можу знайти.

Чи потрібно мені генерувати файл tnsnames.ora сам? Якщо так, то де я його розміщую? Якщо ні, як Oracle генерує це для мене? Якщо мені потрібно його генерувати, який відповідний синтаксис для файлу?

Відповіді:


15

Ви можете легко створити файл tnsnames.ora [text]. Він повинен бути в $ ORACLE_HOME / network / admin / і повинен виглядати приблизно так:

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

Хороша відповідь, хоча я виявив, що треба назвати свій файл $HOME/.tnsnames.ora; шлях, запропонований у відповіді, здавалося, ігнорується sqlplus.
DuffJ

@DuffJ, то з вашим оточенням щось не так.
чудо173

11

Каталог за замовчуванням для файлу tnsnames.ora є

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

Зміст:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
  • alias: ви можете вибрати це і використовувати його як рядок з'єднання згодом.
  • port: за замовчуванням - 1521

Більше інформації тут: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm


6
Каталог за замовчуванням - нічого подібного. Це відносно $ORACLE_HOMEі тому буде $ORACLE_HOME/network/admin(де $ORACLE_HOMEможе бути декілька різних каталогів, де існує більше одного рівня встановлення / виправлення Oracle) або може бути замінено $TNS_ADMINзмінною середовища. Це повністю залежить від користувача, де знаходиться програмне забезпечення.
Philᵀᴹ

4
Чесно кажучи, це типова умова в системі Linux ... Якщо ви не торкаєтесь речі, вона буде поставлена ​​туди ... таким чином, це буде за замовчуванням. Але $ ORACLE_HOME, якщо її не підробляють, справді є кращим рішенням.
Манчі

Я запустив Oracle в буквально сотнях систем Linux, і це НЕ за замовчуванням, і немає такого. Можливо, ви маєте на увазі, що це приклад в документації, ну вони повинні були щось вибрати. Немає дистрибутива Linux, про який я знаю, що має файлову систему / u01 "за замовчуванням". Ви, мабуть, створили її і сказали Oracle використовувати її!
Гай

2

$ORACLE_HOME/network/adminце каталог, в якому tnsnames.oraфайл створюється DBCA та / або NetCA.

$ORACLE_HOMEтакий шлях, як /u01/app ...це сумісний з OFA шлях, який інсталятор використовує за замовчуванням, якщо він не перекриває програму встановлення.


2

Якщо ваша ОС Windows 10 , ви можете знайти tnsnames.oraфайл у наступному unc шляху:

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

Де myAccountназва вашого облікового запису Windows.


1
Іншими словами, це так %ORACLE_HOME%\NETWORK\ADMIN, правда?
Андрій М

Так це правильно. Запам’ятайте Oracle за замовчуванням зберігайте tnsnames.ora в каталозі $ ORACLE_HOME / network / admin в операційних системах UNIX та в каталозі% ORACLE_HOME% \ network \ admin в операційних системах Windows.
С. Майоль

$ ORACLE_HOME не працював на мене в моєму оточенні, тому знання повного шляху справді допомогло ... просто знаючи, що це було в C: \ app \ ..., дало мені початок мені потрібно, і я зміг відстежити це з там. Врятували мені години пошуку!
Галлус

1

Наскільки я знаю, що tnsnames.oraпотрібно розмістити в <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\папці

Документацію можна знайти тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.