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?


