DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

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

Tnsnames.ora

В файле 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.
 









jAntivirus