Tnsnames ora где лежит
Перейти к содержимому

Tnsnames ora где лежит

  • автор:

Tnsnames ora где лежит


ZeroDivide ( 2003-12-24 09:26 ) [0]

Моему инсталлеру нужно прописать настройки сервиса ORACLE в tnsnames.ora, но проблема в том, что для разных версий клиентов этот файл находится в разных директориях, даже относительно директории установки клиента! (Наприер: C:\orant\NET80\tnsnames.ora для 8 версии и C:\orant\NETWORK\tnsnames.ora для 8i. Для 9-й не знаю). В реестре, кроме директории установки клиента, я ничего полезного не нашел. Может кто подскажет как мне однозначно определить где tnsnames.ora находится?

Да и у кого 9-ая версия, pls посмотрите где.


Sergey13 ( 2003-12-24 09:42 ) [1]

С 9 не работал. Но что если воспользоваться Net-кофигуратором стандартным (аналог Net8 Assistant). Он наверное должен быть и в 9. Он сохранит там где нужно, ИМХО.


Reindeer Moss Eater ( 2003-12-24 09:49 ) [2]

c:\oracle\ora92\network\admin\tnsnames.ora


ZeroDivide ( 2003-12-24 09:53 ) [3]

to Sergey13:
Моему инсталлеру нужно прописать настройки сервиса ORACLE в tnsnames.ora

Понятно, что в Net8Assistant это вручную можно сделать, но мне нужно реализовать автоматическую настройку сервисов в моем инсталлере.


ZeroDivide ( 2003-12-24 10:02 ) [4]

2 ALL
Посмотрите все (у кого ORACLE клиент установлен) есть ли у вас в реестре в ветке HKLM\SOFTWARE\ORACLE ключик ORACLE_HOME Или может быть только здесь HKLM\SOFTWARE\ORACLE\HOME0 есть такой ключик.


Serge ( 2003-12-24 10:07 ) [5]

Есть и в HKLM\SOFTWARE\ORACLE и в HKLM\SOFTWARE\ORACLE\HOME0


Reindeer Moss Eater ( 2003-12-24 10:16 ) [6]

А хоумов у него может быть и несколько.

ОДАК ищет tnsnames от пути на хоум, а дальше учитывает, что это может быть восьмерка и не восьмерка:

sNetwork = «\network\admin\»;
sNet80 = «\net80\admin\»;


ZeroDivide ( 2003-12-24 10:29 ) [7]

А хоумов у него может быть и несколько.
Я в курсе, поэтому и спрашиваю про первый вариант ключика. Вероятно это хоум последнего установленного клиента.

sNetwork = «\network\admin\»;
sNet80 = «\net80\admin\»;

Вероятно так и придется делать, смотреть и там и там. В принципе, ничего ужасного, если учесть что у девятки это тоже Network\admin, да и десятка вероятно еще не скоро выйдет.


Serge ( 2003-12-24 10:33 ) [8]

Она, десятка, уже вышла как я слышал


ZeroDivide ( 2003-12-24 11:14 ) [9]

Порылся в компонентах DOA, нашел там (в Oracle.pas) следующее:

// Returns a full path to the tnsnames.ora file
function TNSNames: string;

DeepEdit!

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

В файле tnsnames.ora хранится конфигурационная информация для локальных имен прозрачного сетевого субстрата (TNS). Что стоит за этой многозначительной фразой? Чтобы лучше понять, какую информацию содержит файл tnsnames.ora, представьте себе следующие имена: Билл, Джим, Пег и Марти. Что у них общего? Да, вы правы: все они являются, сокращенными вариантами полных имен. Имя «Билл» может быть образовано от «Уильям», а «Джим» — от «Джеймс». «Пег» используется вместо «Пегги», а «Марти» может означать как «Мартин», так и «Марта». Есть ли разница между сокращенным именем и псевдонимом? Согласно словарю, слово «псевдоним» означает «другое имя», поэтому можно предположить, что сокращенное имя и псевдоним — это примерно одно и то же.

К чему весь этот разговор о сокращенных именах и псевдонимах? Дело в том, что на клиентской машине файл tnsnames.ora определяет

(или описывает) имена, которые используются для обращения к базе данных с этой машины. На сервере те же самые имена используются прослушивающим процессом для установления соединений с базой данных. В версиях Oracle до 8.1.5 прослушивающий процесс считывал файл tnsna-mes.ora, чтобы определить имя и местонахождение каждой из баз данных, перечисленных в файле listener.ora. В версиях 8.1.5 и выше база

данных при запуске сама регистрируется в прослушивающем процессе. Прослушивающий процесс периодически опрашивает базы данных на предмет регистрации; таким образом, если база данных была запущена раньше прослушивающего процесса, то она все равно хотя на это может потребоваться некоторое время.

Согласно второму абзацу, в системе может присутствовать более одного файла tnsnames.ora. Однако в следующей главе, посвященной серверу имен Oracle, вы увидите, что ведение большого числа таких файлов для

поддержки разработчиков приложений и конечных пользователей может вызывать значительные трудности.

Этот раздел довольно прозрачен. Здесь говорится о том, что файл tnsnames.ora используется в качестве альтернативы серверу имен. Записи в этом файле представляют собой коллекцию псевдонимов, используемых прослушивающим процессом для установления соединений с базой данных.

Как следует из этого листинга, синтаксис записей в tnsnames.ora довольно прост. Сначала вы указываете имя, на которое будет отзываться прослушивающий процесс. Это имя обычно называют именем сетевой службы (net service name). Если есть база данных можно назвать

ее в файле tnsnames.ora как угодно. Существует только одно правило: при попытке установить соединение с базой данных следует использовать точно такое же имя. Например, я могу указать псевдоним MARLENES_DB, и тогда в строке соединения нужно будет использовать именно его:

sqlplus MYSCHEMA/MYPASSWORD@MARLENES_DB

Несмотря на то что моя база данных имеет имя я вызываю ее с помощью псевдонима, или имени сетевой службы, объявленного в файле tnsnames.ora.

  • Статьи
  • Собеседованиие?
  • Книги Oracle
  • Документация Oracle
  • Теория БД
  • SQL
  • Администрирование
  • Spatial
  • Производительность
  • Задачи по SQL
  • Том Кайт
  • Том Кайт. Архитектура, методики программирования и основные особенности версий 9i и 10g. Глава 8
  • Кэри Миллсап и Джефф Хольт Оптимизация производительности
  • PL/SQL-1
  • PL/SQL-2
  • PL/SQL-3
  • PL/SQL-4
  • Организация работы в сети
  • Delphi
  • Oracle PL/SQL для администраторов баз данных
  • Уроки Oracle
  • Oracle Data Integrator

Популярные

  • Работаем с Oracle
  • Что такое индекс?
  • Администрирование Oracle 9i
  • Агрегатные функции. Группировка записей
  • Удаление дубликатов строк
  • 101 Oracle PL/SQL Как писать мощные и гибкие программы на PL/SQL
  • Объединение таблиц
  • Работа с событиями SQL*Net, заметно влияющими на время отклика
  • Oracle. Оптимизация производительности
  • Oracle 9i Программирование на языке PL/SQL. Разработка эффективных приложений с помощью PL/SQL
  • Сервер Oracle 9i. Выпуск 9.2. Основные концепции
  • Прогнозирование экономической эффективности проекта

Дополнительные действия после установки

Все действия, описанные ниже, необходимо делать только в том случае, если Вы НЕ ИСПОЛЬЗОВАЛИ упрощенную установку, а запустили стандартную программу установки СУБД Oracle.

После завершения программы установки необходимо сделать следующее:

Для того чтобы все программы пакета АльфаЦЕНТР, установленные на сервере БД, работали независимо от того, указан параметр «Имя базы данных» или нет необходимо:

1. На компьютере, где установлен сервер базы данных Oracle, найти все файлы с именем TNSNAMES.ORA и добавить в него следующие строки (ЕСЛИ ИХ НЕТ):

(Host = ИМЯ КОМПЬЮТЕРА-СЕРВЕРА БАЗЫ ДАННЫХ ORACLE)

(CONNECT_DATA = (SID = ORCL)

2. Данный порт (TCP 1521) должен быть открыт. Необходимо убедиться, что брандмауэр Windows или антивирусное ПО не блокирует/закрывает данный порт.

3. Внимание! Если же сервер БД будет использоваться как еще одно клиентское место (АльфаЦЕНТР клиент установлен на той машине, что и сервер БД ORACLE), то файлов TNSNAMES.ORA будет несколько (минимум два). Первый файл имеет следующий полный путь C:\ORANT\NET80\ADMIN\TNSNAMES.ORA. Второй файл имеет следующий путь C:\ORACLE\NETWORK\ADMIN\TNSNAMES.ORA или C:\ORACLE\SERVER\NETWORK\ADMIN\TNSNAMES.ORA. Возможно, есть еще некоторые файлы TNSNAMES.ORA, располагающиеся в каталогах . \SAMPLE — это примеры. В эти файлы добавлять ничего не надо.

4. Если же АльфаЦЕНТР НЕ устанавливался на тот компьютер, где расположен сервер базы данных ORACLE, то файл TNSNAMES.ORA будет один по следующему пути — C:\ORACLE\NETWORK\ADMIN\TNSNAMES.ORA или C:\ORACLE\SERVER\NETWORK\ADMIN\TNSNAMES.ORA. Возможно, есть еще некоторые файлы TNSNAMES.ORA, располагающиеся в каталогах . \SAMPLE — это примеры. В эти файлы добавлять ничего не надо.

5. Перезапустить компьютер.

Для обеспечения работы сервера БД и клиентских мест независимо от наличия или отсутствия домена ОС Windows необходимо:

1. На сервере в файле C:\ORACLE\SERVER\NETWORK\ADMIN\SQLNET.ORA закомментировать все строки, поставив символ # в начале каждой строки;

2. Перезапустить компьютер.

Where is TNSNAMES.ORA? [duplicate]

I am working on a Windows server and access Oracle databases using the Oracle ODBC driver. I have Oracle ODBC connections that work fine on this machine. However I want to add a new connection, and when testing it I get the error

Unable to connect SQL State=S1000 [Oracle][ODBC][Ora] ORA-12170: TNS: Connect timeout occurred 

I presume, though I am no DBA, that this has something to do with my TNS Service Name not being in TNSNAMES.ORA which points oracle toward the right server, port, etc. However I cannot find TNSNAMES.ORA I have an ORACLE_HOME environment variable, but it is empty. Where can I find this file or otherwise configure my TNS names?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *