DeepEdit!

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

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

Сервер имен Oracle

Сервер имен Oracle — это приложение, разработанное корпорацией Oracle для централизованного хранения имен и адресов всех служб сети и предоставления этой информации каждому клиенту, запрашивающему соединение. При использовании сервера имен Oracle вам больше не нужно снабжать каждого клиента системы файлом tnsnames.ora. Когда возникает необходимость что-то изменить в сети Oracle, это изменение выполняется на сервере имен Oracle, который распространяет его по другим серверам имен системы. Каждое изменение достаточно выполнить только один раз в одном месте. Не правда ли, это замечательный способ сократить объем работы по администрированию?
Однако за все нужно платить. В данном случае потребуется приложить больше усилий на начальном этапе. Но пугаться не стоит. Со временем сервер имен Oracle становится все более дружественным к пользователю и более простым в применении. Давайте посмотрим, как он работает и какие решения необходимо принять перед началом его использования.
Получение информации о соединении
Чтобы понять, каким образом сервер имен Oracle работает с клиентским запросом, поставьте себя на место преподавателя, который только что закончил принимать последний экзамен и хочет ввести в базу данных отметки студентов. В сети учебного заведения находятся три сервера; соединения с ними идентифицируются как STUDENTS (студенты), GRADES (отметки) и COURSES (курсы). Вам нужно установить соединение с использованием идентификатора GRADES. Каждая база данных при запуске регистрируется на сервере имен Oracle. Далее будем основываться на предположении, что служба GRADES уже доступна и зарегистрирована на сервере имен.
Приложение, с которым вы работаете, передает серверу имен Oracle запрос на соединение, в котором указан идентификатор соединения (GRADES). Сервер имен обращается, в зависимости от конфигурации, к своему кэшу или к своей базе данных и получает информацию, необходимую для разрешения идентификатора соединения в дескриптор соединения. Этот дескриптор содержит ту же информацию, которую вы получили бы из файла tnsnames.ora:
Затем дескриптор соединения возвращается приложению. В данном случае он говорит о том, что прослушивающий процесс расположен на хосте MARLENES-PC, использует протокол TCP/IP и прослушивает порт 1521. База данных, к которой предстоит обращаться, имеет системный идентификатор GRADES.
После этого приложение направляет запрос на соединение прослушивающему процессу, расположенному по указанному адресу, и соединяется со службой. Для вас этот процесс остается прозрачным. На рис. 4.1 показано, как клиент передает серверу имен Oracle запрос с идентификатором соединения, принимает дескриптор соединения и посылает запрос на соединение прослушивающему процессу на нужной машине.

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









jAntivirus