Oracle Press TM

Организация
работы в сети
Как построить
сеть OracleS/

Марлен Терьо

Соавтор "OracleSi: Настольная книга
администратора" и
"Oracle101: Настольная книга
администратора"

Издательство
"Лори"

Рассматриваются версии
8.1.5 и 8.1.6

ORACLe

Oracle Press TM

OracleS/
Networking 101

Marlene L. Theriault

Osborne/McGraw-Hill
Berkeley New York St. Louis San Francisco
Auckland Bogota Hamburg London Madrid
Mexico City Milan Montreal New Delhi Panama City
Paris Sao Paulo Singapore Sydney
Tokyo Toronto

101

OracleS/
Организация
работы в сети

Марлен Терьо

Издательство "ЛОРИ"

OracleSz
Networking 101
Marlene L. Theriault
Copyright 2000
All rights reserved
Osborne/McGraw-Hill
2600 Tenth Street
Berkeley, California 94710
U.S.A.
Copyright © 2000 by The McGraw-Hill Companies. All rights reserved.
Except as permitted under the Copyright Act of 1976, no part of this publication may
be reproduced or distributed in any form or by any means, or stored in a database or
retrieval system, without the prior written permission of the publisher, or stored in a
database or retrieval system without the prior written permission.
ISBN 0-07-212517-9
101
OracleSz
Организация работы в сети
Марлен Терьо
Переводчик Т.Москалев
Научный редактор А.Головко
Корректор И.Гришина
Верстка М.Алиевой

© Издательство "ЛОРИ", 2001
Изд. N : OAI (03)
ЛР N : 070612 30.09.97 г.
ISBN 5-85582-138-2

Подписано в печать 25.10.2001 Формат 70x100/16
Бумага офсет N1 Гарнитура Нью-Баскервиль Печать офсетная
Печ. л. 30 Тираж 320<) IIK. 726
Цена договорная
Издательство "ЛОРИ". Москва, 123557 Б. Тишинский пер., д. 40, корп. 2
Телефон для оптовых покупателей: (095)259-01-62
WWW.LORY-PRESS.RU
Отпечатано в типографии ООО "Типография ИПО профсоюзов Профиздат"
109044, Москва, ул. Крутицкий вал д. 18

Я посвящаю эту книгу
моему мужу Нельсону Кэхиллу, сыну Марку Тудмену,
моей матери Лилиан Сигель, тете Молли Роббинс и всем тем,
кто когда-нибудь тратил более одного часа
на устранение проблемы с сетью Oracle.

Об авторе
Марлен Терьо занимается администрированием баз данных Oracle более
18 лет и работала со всеми РСУБД Oracle, начиная с версии 2.0. Она является соавтором книг "OracleSi: Настольная книга администратора" вместе с
Кевином Луни (по лицензии Oracle Press издательство "Лори", 2001 г.),
"101 Oracle: Настольная книга администратора" вместе с Рэчел Кармайкл и
Джеймсом Вискузи (по лицензии Oracle Press издательство "Лори", 2001 г.) и
"Oracle Security" вместе с Вильямом Хини.
Она принимала участие в ряде международных конференций. Ей были
присуждены премии "Лучшая пользовательская презентация" на EOUG'99
(за презентацию на EOUG'98), "Блестящий докладчик" на ЕСО'98 и "Выдающийся докладчик" на ЕСО'95 и ЕСО'96. М. Терьо занимает должность председателя Среднеатлантической ассоциации профессионалов Oracle
(МАОР) и ведет рубрику "Ask the DBA" в бюллетене МАОР. С ней можно
связаться по адресу mtheriault@mindspring.com.

Содержание
Часть I
Изучаем основы
1

Обзор сетевых технологий

3

Краткая история сетевых коммуникаций . . . . . . . . . . . . . . 4
Телефонная сеть
, . . . . . . :. . . ,->.-,. . . 6
Компьютерная сеть
( ,.-... . »,.. . .... „ . . . . 7
Базовые сетевые конфигурации и средства . . . . . . . . . . . . 16
Различные типы сетей.
. . . 16
Сетевая топология
21
Передача данных по сети
.24
Взаимодействие открытых систем
27
Стандарты в действии
28
Эталонные модели SNA и TCP/IP
34

2

Сетевые компоненты Oracle
Немного истории
Появление SQL'Net
Базовая архитектура
Требования к аппаратуре
Компонентные уровни
Протоколы Oracle
Коммуникационные стеки, используемые Oracle
Процессы выделенных серверов
Процессы многопоточного сервера
Соединения Bequeath
Связи баз данных
Глобальное именование
Создание связи базы данных
Разделяемые связи баз данных

3

Компоненты Net8
Компоненты и параметры Net8
Установление соединения
Listener, ora
Утилита Listener Control (Isnrctl)
Tnsnames.ora

39
40
42
43
44
44
45
48
53
55
58
59
59
61
67

69
70
71
72
82
87

.yiii Содержание 4 Sqlnet. . атрибуты и объектные классы . Интернет-каталог Oracle и Net8 Компоненты Интернет-каталога Oracle Установка Интернет-каталога Oracle Инструменты Интернет-каталога Oracle Инструменты командной строки Менеджер OID 6 Планирование сети Создание плана сети Вопросы Вопросы управления Сетевые вопросы Серверные вопросы Вопросы соединений Вопросы резервного копирования и восстановления 101 101 102 105 105 106 108 114 119 125 127 127 128 130 135 136 137 139 141 147 147 154 154 157 159 159 163 167 168 169 169 176 179 182 185 . доступные в Net8 Утилита Names Control (namesctl) Команды Namesctl 5 Интернет-каталог Oracle Различные виды каталогов Каталог базы данных Серверы каталогов LD АР Модели LDAP Обзор Интернет-каталога Oracle Записи. Получение информации о соединении Множественные серверы имен Oracle Хранение данных имен Oracle Модели именования Oracle Конфигурирование сервера имен Oracle Запуск сервера имен Oracle Об открытиях Новые возможности.ora Введение в SNMP Взгляд изнутри Oracle Enterprise Manager и Intelligent Agent Обзор OEM 93 94 94 95 96 Сервер имен Oracle 99 Общие сведения Различные сетевые архитектуры . Трансляция сетевых имен Сервер имен Oracle . . *.-.

. . . .. .. .Содержание IX Часть И .-. Инструменты конфигурирования 7 Net8 Assistant — опции Local 189 Базовые сведения о Net8 Assistant . .. . .• • 200 Конфигурирование профиля . . . . . 282 Конфигурирование менеджера соединений Oracle 283 Cman. . .. 200 Конфигурирование имен служб . ... . . ... ... . . . . 265 Конфигурирование доступа к службе каталога . . .. . 272 10 Менеджер соединений 277 Обзор менеджера соединений Oracle 278 Процессы менеджера соединений Oracle 279 Концентрация соединений 279 Управление доступом на уровне Net8 280 Мультипротокольная поддержка ... . . . . . .. 193 Навигатор Net8 Assistant .'. . . . . . . .. . .. 198 Опции локальной конфигурации .. . . . . . ? > . ..". . 254 Конфигурирование прослушивающего процесса . . . .. . ..^ л ^ л .. ... . .'. . .. . 290 . ..--. . . . . .... . . . . . . . . . . . 256 Конфигурирование методов именования 263 Конфигурирование имен сетевых служб . 192 Пункты раскрывающихся меню. . . . . . .. . . _ .*. 246 9 Net8 Configuration Assistant 253 Обзор Net8 Configuration Assistant . . 223 8 Net8 Assistant — опции Oracle Names Servers 231 Создание и конфигурирование серверов имен Oracle 232 Создание нового сервера имен Oracle . •. .у . • • • • • 191 Запуск Net8 Assistant . .". . . 5 > . . .'. . . . .ora 283 Конфигурирование концентрации соединений 287 Конфигурирование мультипротокольной поддержки 288 Конфигурирование управления доступом 289 Утилита Connection Manager Control . 233 Управление сервером 234 Управление данными 241 Конфигурирование сервера. ..... . . . ... 191 Базовые возможности . . . . . . 217 Конфигурирование прослушивающих процессов . .

. .Содержание 11 Поддержка больших сетей 295 Использование многопоточного сервера. . 301 Определение количества диспетчеров . . 306 Использование объединения соединений. . . . . . Установка прослушивающего процесса WebDB Перед началом установки Последовательность установки После установки Запуск и останов прослушивающего процесса WebDB .•. . .". . . . . 297 Зачем нужен многопоточный сервер? .' ". . 318 Предварительное создание выделенных серверов. . . . . .-.'"". . . . 304 Разрешение конфликтов. . .••. . . . 350 Язык компьютерной безопасности 352 Обзор усовершенствованных средств безопасности Oracle. . .''. . . . . . Множественные виртуальные хосты Доступ к статическим файлам Параметры конфигурации Диагностика проблем прослушивающего процесса WebDB . .•-••. . . . . .. . . ."'. .- Часть HI Сети Oracle и Интернет ? • -: ''" . ' 325 Общие сведения о WebDB Прослушивающий процесс и другие компоненты WebDB. вызванных использованием MTS . •. .. . . . . .' 12 Прослушивающий процесс WebDB . . 320 Обзор предварительно создаваемых выделенных серверов . 298 Конфигурирование процессов многопоточного сервере . . 355 Архитектура Oracle Advanced Security 360 Часть iV Диагностика 14 Диагностика проблем Net8 Звонки в службу технической поддержки Общие принципы диагностики 369 370 371 . 13 Усовершенствованные средства безопасности Oracle 326 327 328 328 330 336 338 340 341 342 346 349 Обзор усовершенствованных средств безопасности Oracle. '•. концентрации соединений и/или балансировки нагрузки на уровне соединения . . 320 Конфигурирование предварительно создаваемых выделенных серверов 321 Г.' . . . . . . .''"•'•• ^ -:•. .

. . . . . . . . . . . . . . . . . . . . . . .. . 387 Файлы журналов и трассировки Net8 . .. . . . .. . . .. . . . . . . . . .. . . • . . 403 Изучение файлов журналов . 404 Изучение файлов трассировки . .. . . .. 379 Запуск прослушивающего процесса . . . . . . . . .ога 427 Глоссарий 435 . . . . которым можно следовать 372 Локализация проблемы 374 Журналы. . . . . файлы трассировки и сообщения об ошибках . . .ora 413 В Параметры names. 380 Руководство по диагностике наиболее распространенных ошибок .Содержание Xi Правила. . . . . 380 Практическая отладка — шаг за шагом. . 408 Приложения А Параметры sqlnet. . . . .

.

Некоторых из них я не видела и. Она соглашалась брать на себя обязанности научного редактора и корректора даже после того. что Рэчел Кармайкл — одна из моих "подруг на всю жизнь". никогда не увижу. спонсор ассоциации МАОР DBA SIG. чем Мэдху Прашер. чтобы помочь клиентам Oracle. У меня нет ни капли сомнения. ты вызываешь у меня чувство глубочайшей признательности и доверия. Эд — один из лучших сотрудников Oracle. Недавно я прочитала заметку о разных типах друзей и их влиянии на нашу жизнь. подавшей мне идею этой книги. Ее замечания были очень важны для меня. лучшего главного редактора. чем Скотт Роджерс. Рискуя показаться чересчур эмоциональной. Джудит Браун и Денис Грааб. я должна сказать: "Эд. не сказав ни слова о Барбаре Пэсквидж. Говоря о замечаниях и улучшении книги. Дэвиду Чену и сотрудникам возглавляемых ими групп. Весь персонал издательства Osborne достоин самой высокой оценки. Моника Фолтисс. Эд нашел время. Он доброжелателен.Благодарности Как это ни странно. с которыми я столкнулась при описании конфигурирования Интернет-каталога Oracle и других средств Oracle8i/Net8. но и за вклад в написание текста. Выходу книги в свет предшествует длительная работа большого числа людей. что его имя однажды появится на обложке книги. возможно. лучших сотрудников. Я была бы крайне неблагодарна. Благодаря им я смогла предоставить читателям самую точную информацию об этих продуктах. я обязана поблагодарить моего технического рецензента Яна Фиклинга — не только за поиск ошибок и помощь в их исправлении. терпелив и всегда готов потратить время. книги не пишутся сами по себе. Вы не смогли бы найти лучшего научного редактора. Прежде всего это Эдвард Монтес. чем Джереми Джудсон. Он с готовностью отвечал на все мои вопросы и указывал мне на важные документы и адреса сайтов Oracle. с которым я имела удовольствие работать в лаборатории прикладной физики университета Джона Гопкинса. которых мне когда-либо доводилось знать. среди которых отдельного упоминания заслуживают Питер Повинек и Ашиш Колли за помощь в решении проблем. Ты замечательный*" Я также благодарна Пьеру Бодину. Я хотела бы поблагодарить множество людей за их поддержку. Уверена. Благодаря Рэчел я смогла сделать эту книгу более понятной и удобной для чтения. как заявила о своем нежелании участвовать в написании следующей книги по крайней мере в течение года. Барбара всегда старается глубоко вникать в вопросы администрирования и готова делиться своим временем и знаниями с коллегами-администраторами. когда я больше всего в них нуждалась. Эдвин Харт — сетевой гуру. чтобы внимательно прочитать книгу и помочь мне в . Особой благодарности за оказанную помощь и поддержку заслуживают несколько человек из Oracle Corporation. Тем не менее я очень признательна им за помощь в подготовке этого издания.

что я не могу не вспомнить некоторых людей. ненавязчивую и ощутимую поддержку в этом рискованном предприятии. а также Джо Теста (поддержка группы штата Огайо) и Джима Лопатовски (Северо-Восточная группа). Марти и Шэрон Розман. которые без устали работают. от вашей "тетушки М. чтобы поговорить со мной или помочь в любом деле — от покупок в магазине до освоения новых компьютерных технологий. Я глубоко признательна ему за телефонные консультации. я глубоко ценю их дружбу. Аила Аронова. Я искренне благодарна вам за то. посвятивших многие часы работе с группой пользователей Oracle штата Вирджиния. Мне нравится с ними работать. Мне хотелось бы лично поблагодарить Стивена Вандивьера. Спасибо вам. Благодаря его помощи несколько глав разделов стали более понятными и точными в техническом отношении. Ближневосточную и Британскую группы. Робину Делькаппо и Шэррн Ленди Фаяд и вижу. нежную. В книге "101 Oracle: Настольная книга администратора" я выражала признательность своему мужу за "молчаливое терпение". Спасибо моему сыну. а также всех. Сюзан Клейр. Я очень люблю своих племянниц Линн Бенейд. Поскольку (по его мнению) я представила дело так. которых с гордостью называю своими друзьями: Сью Хорнбакл.XJV Благодарности устранении некоторых шероховатостей в первой главе. Рона и Фрэн Лупер. Кэти Локвуд. и его предложения легли в основу некоторых сценариев. что вы были рядом в самые нужные моменты. Нельсон обладает фантастическим воображением. и я просто обязана принести личную благодарность людям. Вы значите для меня больше. книги вообще не пишутся. поддерживающих Европейскую. Однако больше всего я благодарна Нельсону за его готовность идти по жизни вместе со мной- . рассмотренных в этой книге. Мне кажется невероятной удачей иметь такую нежную и любящую семью. кого не смогу упомянуть здесь из-за недостатка места. донося до нас новую информацию и способы решения проблем. президента Среднеатлантической ассоциации профессионалов Oracle. что она есть. Пат и Стива Арнетта. за терпеливую. сейчас я хотела бы поблагодарить моего мужа. Группы пользователей играют важную роль в жизни любого профессионала Oracle. чем можно выразить словами. Спасибо и моей сестре Джудит Зиске просто за то. Берта Спенсера и Карла Дадли. будто он спал все время. что они отвечают мне взаимностью. Когда рядом с тобой нет никого. пока писалась книга. который никогда не бывает слишком занят. Крейга и Кейт Уорман. Розлин Круг. Марку Гудмену. Друзья играют столь значительную роль в нашей жизни. Нельсона Кэхилла. юные леди. Джима и Санди Вискузи.". Тони Зимбу. неустанную. Кевина Луни. Дебби Вонг. кто помогает вести семейный корабль.

Введение
Сеть

1. Система элементов (например, линий или дорог), пересекающихся наподобие нитей рыболовной сети. 2. Группа или система взаимосвязанных
компонентов.
Сразу оговорюсь: определение слова "сеть" помещено здесь лишь потому,
что это хороший способ начать книгу о сетевых возможностях OracieSi,
выпуск 2. Я не собираюсь подробно говорить о связях этого определения
с темами, затрагиваемыми в книге. Вы увидите эти связи сами, когда будете читать первую и вторую главы. Я также не собираюсь с самого начала
вызывать у вас скуку массой технических терминов. Пожалуй, единственное, что я хотела сделать, — это дать вам возможность представить сеть в
самом общем виде. Надеюсь, что прочитав приведенное выше определение, вы нарисуете в своем воображении множество линий связи (кабелей), компьютеров и других устройств, составляющих единую систему,
при помощи которой люди могут легко получать и распространять
информацию.
Есть ли у вас доступ к Интернету и World Wide Web? Задавались ли вы
когда-нибудь вопросом, как работают сетевые технологии, позволяющие
получать самую разнообразную информацию? Не приходилось ли вам
ощущать себя полным невеждой, когда на рабочих совещаниях или конференциях кто-нибудь начинал использовать непонятные сетевые термины? Может быть, вы только что получили (или намереваетесь получить)
должность, которая требует работы с Oracle, и хотите знать, как устроена
и конфигурируется сеть Oracle? Или вы многие годы работали с продуйтами Oracle, но не испытывали потребности углубленно вникать в их сетевые возможности? Если вы ответили утвердительно хотя бы на один из
перечисленных вопросов, то данная книга станет для вас прекрасным
введением в мир сетей Oracle. Но даже если вы обратились к ней по другой причине, у вас все равно будет замечательная возможность систематизировать свои знания о сетях Oracle.
Если вы не читали первую книгу из серии 101, "101 Oracle: Настольная
книга администратора", то этот раздел даст вам представление о моем
стиле изложения и подходе к представлению информации. Чтобы помочь вам разобраться в технических концепциях, я тщательно подбирала
различные аналогии из повседневной жизни. Но пусть это не вводит вас
в заблуждение. Предложение немного поиграть или отклониться от
основной темы не означает, что сложные технические вопросы трактуются здесь в "облегченном" виде.
Книга познакомит вас с общей сетевой терминологией и принципами
построения сетей Oracle. Кроме того, вы узнаете:
• Как конфигурировать Net8 на стороне клиента и сервера Oracle
• Как работают серверы имен Oracle, как их конфигурировать
и использовать

xvi

Введение
• Что такое LDAP и как конфигурировать сервер
Интернет-каталога Oracle
• Как определить сетевые потребности вашей организации
и создать план сети Oracle
• Как использовать стандартные инструменты
конфигурирования Oracle — Net8 Assistant,
Net8 Configuration Assistant и Connection Manager.
• Как обеспечить поддержку крупномасштабных
распределенных систем
• Как конфигурировать и использовать прослушивающий
процесс WebDB
• Что представляют собой усовершенствованные средства
безопасности Oracle
• Как диагностировать проблемы, возникающие в сети Oracle
Хотя издание не претендует на роль исчерпывающего руководства по
сетям, оно должно дать вам все сведения, необходимые для конфигурирования и ввода в работу сетевых средств Oracle. Итак, приготовьтесь к
увлекательному путешествию в мир сетей Oracle.

Обзор сетевых
технологий

Глава 1

'дин системный администратор, с которым мне довелось работать,
любил говорить: "Чтобы понимать будущее, необходимо изучать прошлое". И он был прав, поскольку современные технологии часто отражают и вбирают в себя предыдущие достижения.
Эта книга является одновременно введением в сетевые технологии
Oracle и руководством по работе с Oracle в сетевой среде. Однако, по моему глубокому убеждению, для эффективной работы с набором сетевых
продуктов необходимо немного знать об устройстве сети и как минимум
понимать основные сетевые термины. Я много лет слышала, как другие
употребляют слова вроде "Token Ring", "Ethernet" или "линия Т1", но до
конца не понимала, о чем идет речь. (Разумеется, я никогда не признавалась в этом!) Поэтому первая глава будет посвящена истории сетей, элементарной терминологии и сетевым конфигурациям. Будет также
описано некоторое сетевое оборудование и используемые протоколы.
Несмотря на то что главной темой книги являются сетевые средства
Oracle, в этой главе они почти не затрагиваются.
Если вы достаточно хорошо разбираетесь в основах сетевых технологий, то можете сразу переходить к главе 2, сэкономив таким образом немного времени.

Краткая история сетевых коммуникаций
В середине 1860-х годов можно было наблюдать примерно следующую
сцену. На железнодорожной станции появлялся помощник шерифа и
бежал к столу телеграфного оператора компании Western Union. "Быстрее,— кричал он телеграфисту,— отправь сообщение шерифу Богус-Сити!
Скажи, что Криворукий Мясник со своей бандой направляется к его
городу. Он должен приготовить ему встречу!" Телеграфист спешно
отправлял сообщение кодом Морзе. Для передачи букв и цифр здесь использовались серии импульсов тока, получаемых замыканием и размыканием электрической цепи. Каждой букве и цифре соответствовала
уникальная комбинация коротких и/или длинных импульсов. Линия, по
которой посылалось сообщение, представляла собой одиночный провод.
Для отправки и приема сообщений использовался довольно грубый, но
достаточно надежный механизм, хорошо приспособленный к суровым
условиям жизни американских поселенцев. Будучи очень простым по современным меркам, телеграф позволял бизнесменам с Восточного побережья держать связь с Диким Западом. Давайте посмотрим, чего удалось
достичь в области коммуникаций с тех пор, когда появилась возможность
отправлять первые телеграммы.
14 февраля 1876 года Александр Грэхем Белл запатентовал свой телефон, подав заявку на два часа раньше, чем Элиша Грей из Western Union.
Время подачи заявки сыграло очень важную роль, поскольку после судебных разбирательств Белл получил права и патенты не только на телефон,
но и на телефонную сеть, построенную компанией Western Union,

Обзор сетевых технологий

включая все усовершенствования, которым подвергся его первоначальный вариант. Сто лет спустя компания Белла (переименованная впоследствии в AT&T) стала крупнейшей в мире.
Теперь представим, как выглядела бы описанная выше сцена в конце
XIX века. Вместо отправки телеграммы помощнику шерифа было бы достаточно снять телефонную трубку, состоящую из передатчика (микрофона) и приемника (телефона), и вызвать центральную станцию,
оператор которой соединил бы его с шерифом Богус-Сити, подсоединим
провода на коммутационной панели. В 1889 году Альмон Браун, предприниматель из Канзас-Сити, изобрел подъемно-вращательный искатель и
набиратель номера. Эти изобретения позволили абоненту набирать номер самостоятельно, не прибегая к услугам оператора.
Если бы эта история происходила в начале XX века, то предупреждение могло быть послано шерифу Богус-сити с помощью телетайпа. В
своем первоначальном виде телеграф имел ряд существенных недостатков. В каждый момент по линии могло передаваться только одно сообщение. Провода изготавливались вручную и были очень хрупкими.
Прокладка линии представляла собой очень длительное, дорогое и опасное дело. Очевидное решение состояло в разработке многоканального телеграфа, который позволил бы передавать и принимать сообщения
одновременно нескольким операторам. Другой задачей было создание телеграфной системы, которая не требовала бы столь значительных затрат
людских ресурсов. Много необходимых усовершенствований сделал
французский изобретатель Эмиль Бодо. В его печатающем телеграфе
была впервые использована клавиатура пишущей машинки, а один провод мог разделяться восемью аппаратами. Вместо кода Морзе в аппарате
Бодо использовался пятиразрядный код, где каждый символ представлялся пятью импульсами. Кодирование и декодирование выполняли сами
аппараты.
Все три рассмотренных сценария в первую очередь демонстрируют
потребность общества в быстрой передаче информации из одного места
в другое. Однако в каждом из них есть и другой, более важный аспект.
Удалось ли вам его увидеть? Если вы скажете, что мы везде имели дело с
примерами сетей, то будете совершенно правы. Люди склонны ассоциировать электронные сети с компьютерами и кабельными системами, по
которым транслируются радио- и телепрограммы, но, как следует из нашего краткого исторического экскурса, подобные сети существовали уже
в середине XIX века.
На первый взгляд телефоны и компьютеры весьма далеки друг от друга. Однако в действительности между этими видами оборудования существует определенная взаимосвязь. С течением времени телефонные
компании стали полагаться на компьютеры при обработке вызовов, маршрутизации трафика, отслеживании заказов и т.д., а компьютеры начали
использовать телефонные сети для соединения с любой точкой земного
шара.
Компьютеры и телефоны используют главным образом цифровую
связь — те самые импульсы "включено-выключено", которые использовались для передачи кода Морзе. Однако в телефонных сетях все еще

6

Глава 1
сохраняются линии, соединяющие дома или офисы с коммутационным
оборудованием телефонных компаний. Для передачи цифровых сигналов по аналоговым линиям компания AT&T изобрела модем. Транзистор,
появившийся в 1948 году, также был создан в AT&T, сотрудниками Bell
Laboratories.
Самая ранняя сеть, телеграфная, дает нам пример двухточечных (point-to-point) соединений. Двухточечными были и первые телефонные линии. Современные сети состоят из множества телефонных линий и
коммутационных центров, причем эти центры соединены сложной системой микроволновых ретрансляторов, волоконно-оптических кабелей и
спутников связи. Вы можете не осознавать, насколько сложна эта система, пока (страшно представить!) ваш телефон не перестанет нормально
работать, соединения с Интернетом не начнут обрываться или их скорость не окажется намного меньше ожидаемой. В таких случаях вам не
остается ничего другого, как прибегнуть к услугам телефонной компании
для диагностики и устранения проблем.

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

Телефон

Спутниковая тарелка
t
Спутниковая тарелка
Рис. 1.1. Упрощенная схема телефонной сети

сетевых технологии

Предположим, что вы звоните из дома. Первоначально для подключения телефона требовалась пара медных или железных проводов, протянутых от дома к центральной станции телефонной компании. Эти
провода подвешивались на высоких деревянных столбах. Сегодня к большинству домов подходит либо двухпроводная витая пара (twisted pair),
либо волоконно-оптическая линия. Для установления соединения, особенно если оно международное, цифровое коммутационное оборудование телефонной станции маршрутизирует вызов с использованием
волоконно-оптических линий, подводного кабеля, микроволновых ретрансляторов и/или спутниковых тарелок. Между телефонными станциями сигналы обычно передаются в цифровом виде, по так называемым
магистральным линиям (trunk lines). Местные телефонные станции соединяются со станциями более высокого уровня иерархии. Далее в этой главе рассмотрим цифровые и аналоговые сигналы более подробно.
По волоконно-оптическому кабелю могут одновременно передаваться
4032 телефонных разговора. Сегодня во многих регионах доступны специальные телефонные линии, обеспечивающие полностью цифровую передачу голоса и данных. Эти линии, образующие цифровую сеть с
интегрированными услугами (Integrated Services Digital Network, ISDN),
предоставляют абонентам два независимых канала, которые могут использоваться для передачи голоса или данных.
Хотя линии ISDN радикально изменили наше представление о возможных способах отправки и приема информации с помощью домашних
персональных компьютеров, для крупных компаний они часто оказываются слишком неэффективными. Многие компании используют специальные цифровые линии Т1, предоставляющие 24 голосовых канала или
один канал для передачи данных со скоростью 1544 мегабита в секунду
(Мбит/с). Каждому из голосовых каналов может быть присвоен отдельный телефонный номер. Для компаний, которым не нужно 24 канала, доступны частичные линии Т1, а компании, которым нужна еще большая
скорость, могут использовать линии Т2 или ТЗ, которые намного быстрее. Например, линия Т2 (6 Мбит/с) по скорости эквивалентна четырем
линиям Т1, а ТЗ (43 232 Мбит/с) — 28 таким линиям. Впрочем, большинство людей округляют последнюю скорость до 43 Мбит/с.
Итак, мы установили, что телекоммуникации играют важную роль в
процессе обмена информацией как между частными лицами, так и между
компаниями. Давайте теперь обратимся к компьютерной составляющей
сетей и посмотрим, как происходит объединение всех технологий в единое целое.

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

между которыми делилось процессорное время. Кроме того. давайте совершим путешествие во времени от начала 1950-х годов до наших дней. Поскольку компоненты компьютера были склонны перегреваться. когда и как переключаться от одного задания к другому. В многозадачном режиме в памяти компьютера могло размещаться сразу несколько заданий. машины бездействовали. они стали называться "немыми" терминалами (dumb terminals). Это была первая настоящая компьютерная сеть. Bell Laboratories и Массачусетского технологического института была разработана первая операционная система с разделением времени.8 Глава 1 Чтобы проследить за развитием компьютерных технологий. которые могли выполняться только по очереди. Хотя временное разделение ресурсов было основано все на той же идее мультипрограммирования. опечатка при вводе одного символа. В пакетном режиме много времени тратилось впустую. и "большие" компьютеры могли иметь "целых" 8 мегабайт — смехотворное количество по сравнению с 2-4 гигабайтами. Серьезный недостаток такого подхода состоял в том. а также знать. из воздуха удалялась пыль. а потом и дисковых накопителей позволило уменьшить время ввода-вывода. обеспечивавшей ввод. В середине 1960-х родилась идея мультипрограммирования. Память в то время стоила дорого. позволявшая выполнять больший объем работы за гораздо меньшее время. и дисплея. как мы со своими PC. Изобретение сначала ленточных. приводила к сбою всей программы и необходимости ее перезапуска. например. Каждое задание требовалось размещать в отдельной области памяти и защищать от влияния других параллельно выполняющихся заданий. требующих выполнения. Первые компьютеры В конце 1950-х — начале 1960-х годов один компьютер занимал целый зал. но компьютеры по-прежнему не использовали все свои вычислительные ресурсы. Пользователи не взаимодействовали с компьютерами напрямую. воздух в зале кондиционировался. на котором отображались выходные данные. эта операционная система имела принципиальное отличие: пользователи могли непосредственно взаимодействовать с компьютером через подключенные к нему терминалы. позволившие обращаться к компьютерам из удаленных мест. получившая название MULTICS (Multiplexed Information and Computing Service). а все задания выполнялись в пакетном режиме. Следующий этап К концу 1960-х годов совместными усилиями компаний General Electric. Терминал состоял из клавиатуры. типичными для современных машин! Примерно в тот же период появились модемы. Тем не менее схема многозадачности легла в основу временного разделения ресурсов в системах следующего поколения. чем когда-либо раньше. Операционная система компьютера должна была хранить информацию обо всех заданиях. поскольку между заданиями. Поскольку эти терминалы не имели своих собственных ресурсов. Информация вводилась с помощью перфокарт. . что даже самая незначительная ошибка.

В этой среде была только одна точка отказа и одна информационная точка. Модемы преобразовывали цифровую информацию.Обзор сетевых технологий В 1970-х годах благодаря ранее изобретенному модему. Когда я начинала свой профессиональный путь в качестве "программиста/аналитика категории С" (самая низкая должность для программиста в компании). описанных выше. Составлялся график использования компьютера. программы запускались на одном большом компьютере (мэйнфрейме). Вы можете увидеть эту конфигурацию на рис. и когда наступала наша очередь. Все наши вычислительные задачи выполнялись централизованно. Терминалы напрямую соединялись с компьютером.2. где четыре терминала непосредственно присоединены к мэйнфрейму. и работать можно было только в этом помещении. где стояло несколько "немых" терминалов. пока не кончалось отведенное время и на смену не приходила другая группа. компании смогли организовать дистанционное взаимодействие пользователей с компьютерами. запускали предварительно подготовленные задания и работали до тех пор. которые можно было передавать по телефонным линиям. а потом выполняли обратное преобразование. что происходит с системой. к которой каждый мог обратиться за помощью или узнать. с которой работали компьютеры. Но какова была жизнь программистов в те времена? Как работали в первых компьютерных сетях Позвольте мне ненадолго предаться воспоминаниям и описать. как выглядела работа программиста в 1960-х и 1970-х годах. в аналоговые сигналы. Мы входили в систему. 1. Обслуживающий персонал состоял из Терминал 1 Центральный компьютер (мэйнфрейм) Терминал 2 Терминал 3 Терминал 4 Рис. который позволял связывать компьютеры при помощи нашего старого друга телефона. мы с коллегами спускались в машинный зал. Автономный компьютер с подключенными терминалами .2. 1.

В ответ я также должна была убирать свои файлы с диска. кто работает с компьютером в данный момент. Каждому из нас выделялся небольшой (по нынешним меркам) объем персонального дискового пространства. а доступно было лишь 150 000 байт. Существовал один совместно использовавшийся пакет программ. Поскольку каждый из нас имел доступ к компьютеру на ограниченное время. Поскольку пользователям необходимо было находиться в одном помещении с терминалами. Если мне случалось работать в другом городе. надеясь. где компьютеры были доступны по телефонным линиям. Зачастую лента задерживалась. В то время мы уже могли пользоваться модемной связью. Этой конфигурации были присущи и определенные недостатки. то приходилось просить других программистов освободить место для моей задачи. Однако для наших целей модемы были слишком медленными. что было намного лучше. что посылка дойдет вовремя. вся обработка по-прежнему выполнялась центральным сервером в пакетном режиме. которые давал телетайп. чтобы возобновить работу над проектом. чем 110 байт в секунду. а терминалы непосредственно соединялись с компьютером. что кто-то посторонний получит доступ к этой сети. . а стоимость добавления ресурсов к мэйнфрейму достигала заоблачных высот. Если мне требовалось 200 000 байт для компиляции очень сложной программы. поддерживать безопасность не составляло большого труда. нам приходилось тщательно планировать свою работу. громоздкой и сложной. Таким образом. а в течение каждого сеанса удавалось выполнить лишь часть задачи. чтобы каждая группа могла работать со своими собственными ресурсами.10 Глава 1 единственного системного администратора и одного-двух операторов. было очень мало шансов. сохраняя при необходимости безопасность и конфиденциальность данных. в пределах которого предстояло выполнять работу. то я должна была копировать свои программы на девятидорожечную ленту и везти ее с собой или посылать самой себе. Выполнялись и удаленные вычисления — с помощью устройства для считывания перфокарт. По современным меркам наша вычислительная среда была архаичной. Эти модемы передавали по 300 байт в секунду. Мы часто пользовались съемными дисками. Потеря времени была все же предпочтительней потери данных. Перемещение файлов с диска и обратно занимало очень много времени. и приходилось ждать по нескольку дней. Сети вступают в пору зрелости В тех системах. Дисковое пространство и оперативная память имели минимальные объемы. и все знали. Мы располагали очень ограниченными ресурсами. терминалов и удаленного принтера. но сама не инициировала никаких соединений. а качество телефонных линий не позволяло гарантировать безошибочную доставку данных из точки А в точку В. Хост-машина принимала задания от терминалов. когда кому-то требовалось дополнительное пространство.

Терминалы Терминалы Рис. электронной почты. исследователи получили возможность совместно использовать их ресурсы. С помощью механизма. В ARPANET использовались протоколы FTP. 1. ARPANET была названа по имени спонсора этого проекта — Управления перспективных разработок (Advanced Research Projects Agency) при Министерстве обороны США. можно было разбивать файлы на мелкие фрагменты одинаковой . чтобы объединить компьютеры. Это объединение компьютеров получило название одноранговой сети (peer-based network). TAPs). После объединения компьютеров в отдельные сети последние соединялись между собой. а также служила коммуникационной магистралью для военных.Обзор сетевых технологий 11 С появлением в 1970-х годах сети ARPANET взаимодействие между хостами стало реальностью. что сокращало расходы и увеличивало число доступных вычислительных средств. формируя среду. Она соединяла компьютеры университетов и исследовательских лабораторий. Одноранговая сеть Первоначальная идея состояла в том. telnet.3. называемого коммутацией пакетов (packet switching). базовая конфигурация которой показана на рис. так и пакетные задания. в которой ученые могли выполнять как интерактивные. а также наборы протоколов терминального доступа (Terminal Access Protocols. Сделав компьютеры доступными по сети.3. 1.

IP-адрес состоит из четырех чисел от 0 до 255 и записывается в виде четырех групп цифр. Но как настроить систему. иначе называемый шлюзом (gateway). Он назывался MITS Altair и представлял собой маленькую коробочку с 256 байтами — не килобайтами или мегабайтами. направляя пакеты из одной сети в другую. разделенных точками: ###. Его не слишком легко запоминать. а можно присвоить уникальные номера. существует и более "человечная" система именования. Каждая группа может содержать от одной до трех цифр. а для вывода — лампочки. тогда как мини-компьютерам могло хватить участка размером один на три фута. чтобы каждый компьютер мог взаимодействовать со всеми остальными? Компьютерам можно присвоить уникальные имена. пока Гейтс и Аллен не создали для него язык программирования BASIC. Последняя характеристика показывает. Начало эпохи персональных компьютеров В конце 1960-х годов на сцене появились мини-компьютеры. Впрочем. называемая системой доменных имен (Domain Name System.233. 111. И как передавать информацию между ними целиком и без ошибок? На эти два вопроса даются все новые и новые ответы.###.Iкоторой подробнее рассказано дальше. Эти адреса использовались протоколом межсетевого взаимодействия (Internet Protocol. удовлетворяя потребности как крупных пакетных вычислений. а именно байтами — оперативной памяти. Чаще всего отказывали интерфейсные процессоры сообщений (Interface Message Processors. а также никакого стандартного программного обеспечения. теперь вы имеете представление об аппаратной части этих ранних сетей. У этого компьютера не было клавиатуры и дисплея. Сегодня портативный компьютер типа notebook имеет габариты примерно 13 на 18 дюймов.254). Мини-компьютеры проложили дорогу появившимся вслед за ними персональным компьютерам. о OH«JI. на каком варианте остановились разработчики ARPANET. Маршрутизаторы работают на третьем уровне модели взаимодействия открытых систем ISO. Мэйнфреймам требовались огромные площади. так и небольших интерактивных задач. В 1975 году был создан первый любительский персональный компьютер. Каждому компьютеру присваивался (как и сейчас) уникальный числовой адрес.12 Глава 1 величины (пакеты) и пересылать их по сети.###. Для повышения надежности сети специальное программное обеспечение следило за доступностью ее частей и при необходимости выбирало альтернативный маршрут. Давайте посмотрим. Итак. по которому компьютеры могут различать друг друга. обеспечивает связь между подключенными к нему сетями.### (например. . Такой формат называется точечной десятичной (dotted decimal) записью. IP) и поэтому стали называться IP-адресами. что уже сопоставимо с размером ладони.122. сколько места занимает компьютер на полу машинного зала. Для ввода информации использовались переключатели. используя какое-либо соглашение об именовании. Они имели до гигабайта оперативной памяти и относительно небольшую площадь основания (footprint). Маршрутизатор (router). но это единственное "имя". DNS). IMP) — предки современных маршрутизаторов.

позволившие персональным компьютерам взаимодействовать с мэйнфреймами. кстати. на одном этаже. Разделение ресурсов означало. что эти компьютеры. Пользователь работал только со своими собственными данными. давший начало целой индустрии. должны были располагаться достаточно близко друг к другу — в одном офисе. Корпорация Oracle выпустила версию своей реляционной СУБД для IBM PC. Марк остановился на Apple II.д. поскольку тот имел восьмицветную графику и 64 Кбайт оперативной памяти. LAN обеспечивали скоростную связь (3 Мбит/с) между компьютерами. Это был грандиозный прорыв. На ценнике значилась сумма около 1200 долларов. Объем дисковой памяти тоже был весьма скромным. Меткалф. монитором и флоппи-дисководом. и от них отказались. что больше не нужно держать на одном компьютере все необходимые для работы компоненты. Мини-компьютеры оказались невостребованными. Они были "очень персональными". Двадцать два года спустя за те же 1200 долларов можно купить компьютер с вычислительной мощностью. приложениями. Технология Ethernet. Само выражение "локальная сеть" подразумевало. называемые умами (nodes) сети. Xerox PARC).Обзор сетевых технологий JJ3 Через несколько лет на рынке появился первый Apple. Локальные и глобальные сети К периоду 1970-х годов относится появление локальных вычислительных сетей (local area network. описал и построил высокоскоростную локальную сеть. удаленными на небольшие расстояния (сотни метров). Первые персональные компьютеры имели серьезный недостаток. Та же история повторилась и с микрокомпьютерами. но это была самая мощная машина. файловые серверы и электронную почту. Меткалф. которую мы могли себе тогда позволить. в нескольких соседних зданиях . а также СУБД dBase для IBM PC. сопоставимой с возможностями самых больших машин тех лет! В 1981 году на рынок ворвался IBM PC. был одним из основателей 3Com. Реальное содействие оказали такие программы. командными файлами и т. что позволило эффективно разделять серверы печати. LAN). WAN) и LAN. работавший в исследовательском центре Xerox в Пало-Альто (Xerox Palo Alto Research Center. Мы внимательно рассматривали разные модели. который довольно быстро нашел дорогу в мир бизнеса благодаря своей практичной конструкции и наличию всех необходимых приложений. соединил не очень мощные компьютеры ALTOS в сеть Ethernet. опубликованной в июльском номере журнала САСМ (Communications of the Association for Computing Machinery) за 1976 год. укомплектованные клавиатурой. разграничив медленную глобальную сеть (wide area network. В результате эти машины с ограниченными ресурсами медленно встраивались в бизнес-среды. Были разработаны программы эмуляции терминалов. Меткалф изобрел. В то время вычислительные мощности стоили дорого. Многие компании и большинство университетов не могли платить значительные суммы за скоростные глобальные сети. Как-то в 1978 году мы с сыном Марком отправились покупать ему компьютер. а потом и Apple II. как электронные таблицы VisiCalc для Apple и Lotus для IBM PC. а также принципы построения локальной и глобальной сети были впервые описаны Меткалфом и Боггсом в статье.

Около 1995 года началось массовое подключение к Интернету на коммерческой основе. использовались кабели и сетевые интерфейсные платы (network interface cards. Для соединения компьютеров. как и в наши дни. . к которой подключались региональные компьютеры. Каждый из них снабжается специальной информацией. тогда как в основе NSFNET лежала магистраль. первой крупномасштабной сетью стала ARPANET. чтобы разбивать сообщения на более мелкие фрагменты одинакового размера. IP). NSF) начал формировать другую. ведут свое начало от ARPANET. К началу 1990-х годов Интернет состоял из множества высокоскоростных магистралей и более чем миллиона компьютеров. исследовательских лабораторий и военных организаций. называемые пакетами (packets). люди могли совместно использовать информацию и ресурсы — например принтеры или централизованные прикладные программы. Первые локальные сети состояли из небольшого числа компьютеров. Главными среди них являются протокол межсетевого взаимодействия (Internet Protocol. связанные с компьютерами) стремительно развивались. благодаря чему пакеты могут посылаться вперемешку. или правилами. К NSFNET присоединялось все больше и больше компьютеров и сетей. Они лежат в основе целого семейства протоколов. Ключевая идея коммутации пакетов состоит в том. и в какой-то момент ее название изменилось на Internet. позволяющей собрать исходное сообщение в правильном порядке. Сетевые технологии (как и все остальные технологии. Сети становятся сложнее Как уже было сказано выше. ISP). объединяемых под названием TCP/IP и определяющих способ связи между компьютерами в Интернете. TCP). ARPANET представляла собой именно такую "смешанную" сеть. созданная под эгидой Министерства обороны США для объединения университетов. на которых основаны современные сети. В 1986 году Национальный научный фонд (National Science Foundation. объединенных по географическому и функциональному признаку в различные домены (domains). сделавшими возможным построение Интернета. которое обеспечивали так называемые поставщики услуг Интернета (Internet Service Providers. к которой мог подключиться любой желающий. гарантирующий надежную доставку данных. Чтобы подключиться к ARPANET.д. которая первоначально состояла всего из четырех узлов. и к настоящему времени глобальные сети покрыли весь земной шар. соединявшая несколько суперкомпьютеров. обеспечивающий адресацию и маршрутизацию. расположенных не далее 600 футов друг от друга. Мы обязаны ей принципом коммутации пакетов. и протокол управления передачей (Transmission Control Protocol. Эта сеть получила название NSFNET. ARPANET представляла собой небольшой кластер компьютеров. университеты должны были получить разрешение от Министерства обороны. Такая длина кабеля была предельной для осуществления эффективной связи. Многие технологии. NICs). Применяя сети компьютеров. а также протоколами. более открытую сеть.14 Глава 1 и т. В 1997 году Интернет насчитывал уже около 30 миллионов компьютеров.

. то есть произвольным образом переходя от одного дискового файла к другому. где одна идея сменяет другую в непрерывном "потоке сознания". ориентированная на работу с мышью и состоящая из невообразимого количества взаимосвязанных сайтов. Ниже приведены обозначения некоторых из них: • .ch/Public/Welcome. В отличие от этого Web рассчитана на использование браузера и позволяет людям обмениваться идеями и информацией самого разного вида посредством гиперссъшок (hyperlinks). происходящими в реальном времени. Через Web можно даже смотреть фильмы или наблюдать за действиями.. World Wide Web ("всемирная паутина"). Файлы могут содержать текст. наверняка использовал адрес.fr (Франция) • . В следующем разделе описан ряд базовых сетевых конфигураций и объяснены некоторые связанные с ними термины. включавший в себя сочетание "www". кто хоть раз выходил в Интернет. как это делает компьютер. Сегодня пользователи Web могут легко переходить от одной темы к другой.com (коммерческие организации) • . Вы можете обращаться к информации примерно так же. Благодаря Web стала возможна новая форма бизнеса — так называемая электронная коммерция (eCommerce).us (Соединенные Штаты) Немного о Web Каждый. Первоначально Интернет был основан на тексте и предназначался главным образом для передачи электронной почты. Такой способ доступа соответствует естественной работе мозга. С помощью браузера этот файл можно открыть и просмотреть. которые запоминают предыдущие адреса. Она предъявляет более высокие требования к ресурсам и в большей степени зависит от возможности успешно поддерживать связь компьютера с внешним миром при сохранении конфиденциальности в ряде областей.net (сети) • . Web была изобретена в 1989 году Тимом Бернерсом-Ли из лаборатории физики элементарных частиц Европейского центра ядерных исследований (CERN). Домашняя страница CERN (www. передачи файлов. Гиперссылка включает в себя унифицированный указатель ресурса (Uniform Resource Locator.gov (правительственные учреждения) • . или просто Web. а затем и групп новостей. используя все более сложные браузеры.— это графическая часть Интернета. что эти файлы могут быть разбросаны по всему Интернету. организации досок объявлений. URL).uk (Соединенное Королевство) • .cern. который определяет местонахождение файла на диске сетевого компьютера. эмуляции терминалов и терминального доступа. расположенного в Швейцарии. изображения.edu (учебные заведения) • .html) даже имеет подзаголовок "where the Web was born" (". . Разница лишь в том. где родилась Web").Обзор сетевых технологий 15 Со многими существующими сейчас доменами вы наверняка знакомы. видео или звук.

будут доступны как самой машине А. Они дешевы и просты в установке. и универсальнее. существует несколько разных способов организации и использования компьютерной сети. кольцевая. Сначала подробнее рассмотрим топологии и протоколы. Подобно тому. Сеть клиент/сервер На рис. 1. а расширение системы может стоить очень дорого. каким образом в наши дни можно послушать музыку. Как правило. шинная и распределенная. который решает. В отличие от централизованной сети здесь можно объединить несколько мини-компьютеров или мощных микрокомпьютеров. Можете зайти в магазин. а затем остановимся на распределенных вычислениях.4 показана базовая конфигурация сети клиент/сервер. играющих роль серверов. Что касается администрирования. В каждой топологии используются свои собственные протоколы. Одноранговая сеть состоит из соединенных друг с другом компьютеров. рис. Большинство современных сетей представляют собой смесь топологий. Вообще говоря. Одноранговые сети хорошо подходят для небольших организаций. так и машинам В.3) сетей. поскольку требует замены центрального компьютера. Посмотрите еще раз на эти рисунки. Вы можете связать множество разнородных компьютеров. Отдельной темой является организация распределенных вычислений. Сети клиент/сервер одновременно и мощнее. контролируемых различными протоколами. В централизованной сети терминалы соединены с главным компьютером (мэйнфреймом). Вы можете пойти в концертный зал и насладиться живым голосом вашего любимого певца или звучанием оркестра. Угадайте. сколько базовых типов сетей существует сейчас? Один? Десять? Сотня? В действительности их всего четыре: централизованная. Стеки протоколов определяют способ пересылки данных по сети. имеющих разные операционные системы. здесь есть только один системный администратор. Топология сети определяет способ физического соединения компьютеров. Если же вы не особенно торопитесь. кто будет иметь к ним доступ. Иными словами. Ресурсы ограничены. Мы уже видели примеры централизованной (рис. принтер или диск. как существует несколько подходов к прослушиванию музыки. чем централизованные или одноранговые. купить кассету или компакт-диск и прослушать запись дома. как следует из названия. С и D. 1.2) и распределенной (ARPANET. чтобы обеспечить поддержку сотен клиентов. чтобы увеличить . кто и когда будет работать с ресурсами. сети можно рассматривать с разных точек зрения. равноправны и могут разделять свои ресурсы. когда передадут нужную запись. то здесь каждый пользователь контролирует ресурсы своей машины и определяет. то можно просто настроиться на радиостанцию и ждать.16 Глава 1 Базовые сетевые конфигурации и средства Давайте подумаем. 1. подключенные к машине А. которые.

1. В случае "чистой" сети клиент/сервер клиенты обладают своими собственными вычислительными мощностями и ресурсами. Компьютеры Apple связываются друг с другом при помощи сетевых протоколов AppleTalk. Серверы в такой конфигурации имеют специальные серверные операционные системы. Соединение клиентов с сервером возможно даже по телефонной линии. тогда как сети клиент/сервер состоят из менее мощных клиентов.17 Обзор сетевых технологий Серверы Терминалы Рис. Сеть клиент/сервер объем предоставляемых ресурсов. Сети клиент/сервер допускают масштабирование. чем от обычных настольных компьютеров. безопасность. Хотя Novell NetWare и Windows NT ориентированы на PC. В то время как в одноранговых сетях компьютеры напрямую соединяются друг с другом. в сетях клиент/сервер могут быть такие компьютеры. 2 Зак.4. От серверов требуется большая надежность. или встраиваться в операционную систему изначально. эффективное резервное копирование. добавляемым к операционной системе (как Novell NetWare). Примерами систем с предустановленными сетевыми компонентами являются Windows 95/98 и Windows NT/2000. они имеют дополнительные средства для поддержки компьютеров Apple Macintosh. установку различных прав доступа для администраторов и пользователей. поскольку при возрастании требований в систему можно добавлять дополнительные серверы. соединенных с мощными серверами. а также обработку больших потоков данных. которые соединены только с сервером. Серверные операционные системы должны обеспечивать отказоустойчивость. Одноранговые сети состоят из равноправных и достаточно мощных компьютеров. 726 . которые могут выступать в роли как клиентов. так и серверов. Сетевое программное обеспечение может быть отдельным продуктом.

18 Глава 1 Подробнее о клиентах и серверах В настоящее время используются два типа сред клиент/сервер: с архитектурой клиент/сервер и с архитектурой тонкого клиента (thin client). Для этого. 1. имеющий определенный объем памяти и дискового пространства. что от них требуется. В чем же их различие? Частью архитектуры клиент/сервер является настольный персональный компьютер (ПК). 1. клиенты снабжаются браузером.5. пример которой показан на рис. 1.5. Обычно на этом ПК хранится и выполняется некоторый прикладной код. которые возлагаются на них пользователями. клиентские машины соединены с машиной среднего уровня — сервером приложений. Здесь во взаимодействии участвуют три различные машины. Архитектура тонкого клиента Как видно из рис. Ресурсы компьютеров могут значительно различаться. а локальные устройства хранения у них могут вообще отсутствовать. как правило. Единственное. . Теперь обратимся к архитектуре тонкого клиента (называемой также трехуровневой архитектурой). Для печати у клиента может быть установлен локальный принтер. который обращается к серверу. Машины с web-браузерами Клиентские запросы и их результаты Сервер базы данных Сервер приложений с прослушивающим процессом HTTP и административным прослушивающим процессом Диспетчеры Рис. причем некоторые ПК вообще не способны выполнять все те задачи.— это запрашивать выполнение операций у сервера приложений и получать результаты. Эти клиенты обычно имеют очень ограниченные ресурсы.5.

Обзор сетевых технологий 19 Выполнение приложений и хранение данных целиком обеспечивается сервером сети. так и нескольких баз данных.1 перечислены свойства транзакций. сервер базы данных. так и списание со счета. Третий компонент архитектуры тонкого клиента. что обе стороны в системе двойной записи должны измениться одновременно. когда вы знаете об основных типах сетей. Устойчивость После завершения транзакции изменения должны оставаться постоянными. В таблице 1. Свойства транзакции. CICS. . посмотрим. Мониторы транзакций обычно применяются при выполнении крупномасштабных транзакций с участием как одной. TPM). за исключением случаев катастрофического отказа. имеет намного больше ресурсов. В сети могут одновременно использоваться серверы нескольких типов. которые гарантирует ТРМ.1. Например. Теперь. Enema. В мире сетей существует много разновидностей серверов. обеспечиваемые монитором обработки транзакций Свойство Объяснение Атомарность Все транзакции либо выполняются полностью (завершаются). либо не выполняются вообще. чтобы не нарушить баланс системы счетов.2. В результате создается впечатление последовательного выполнения транзакций. Серверы обычно классифицируются по типу выполняемой ими работы. Microsoft Transaction Server и Digital ACMSxp. Согласованность Транзакция должна сохранять требуемые свойства системы. Приложения среднего уровня часто выполняются под управлением монитора обработки транзакций (Transaction Processing Monitor. Таблица 1. система возвращается в исходное состояние. Изолированность Промежуточные состояния системы не должны быть видимы другим транзакциям. а архитектура тонкого клиента позволяет с выгодой использовать быструю передачу данных между сервером приложений и дисплеем ПК. при переводе денег с одного счета на другой в базе данных должно быть отражено как зачисление на счет. Если транзакция была прервана. даже если на самом деле работа ведется параллельно. обеспечивающих поддержку разных сторон деятельности организации. NCR Top End. чем любой другой компьютер. В случае перевода денег это означает. Некоторые из типов серверов перечислены в таблице 1. К наиболее широко используемым ТРМ относятся Tuxedo. Современные ПК имеют быстродействующие графические дисплеи. какое оборудование необходимо для соединения компьютеров друг с другом.

то обнаружите. Она обычно вставляется в один из слотов расширения. к которой присоединяется кабель. чтобы распознавать псевдонимы людей или коллекций адресов.2. отправку и хранение почтовых сообщений централизованным образом. что он поддерживает один или несколько типов кабельных . Почтовые серверы (mail servers) Обеспечивают прием. NIC). Если вы посмотрите на сетевой адаптер компьютера. Серверы печати (print servers) Позволяют выполнять печать на присоединенных к ним принтерах. Сервер сообщает состояние каждого задания и устанавливает приоритет заданий. Та часть сетевого адаптера. Обеспечивают одновременный доступ к одному и тому же файлу. созданные прикладными программами. обращение из сети к другим удаленным службам. Необходимое оборудование Каждый компьютер сети должен иметь плату сетевого адаптера. До завершения текущего задания запросы на печать буферизуются в файле. Передают клиентам запрашиваемые документы. Сетевая плата обеспечивает отправку сообщений в сеть. В портативных компьютерах используются специальные платы PCMCIA. Серверы резервного копирования (backup servers) Обеспечивают защиту данных путем резервного копирования на сменные носители. находящихся внутри компьютера. называемую также сетевой интерфейсной платой (Network Interface Card. Могут конфигурироваться так. Брандмауэры (firewalls) Защищают компьютеры во внутренней сети компании от несанкционированного доступа из внешней сети. Могут использоваться для контроля за соединениями пользователей с внешней сетью. Классическим примером разделяемой файловой системы служит база данных Oracle. Коммуникационные серверы (communication servers) Обеспечивают удаленный доступ к сети или. Могут автоматически выполнять резервное копирование в заданное время с интервалом в день. Типы серверов сети Тип сервера Назначение Выделенные серверы (dedicated servers) Предназначены исключительно для поддержки пользователей и самой сети.20 Глава 1 Таблица 1. Не выполняют никаких клиентских задач. Серверы приложений (application servers) Хранят информацию и передают ее на обработку серверам баз данных. а также прием сообщений. наоборот. адресованных данному компьютеру. вставляемые в слот сбоку компьютера. называется портом. Факс-серверы (fax servers) Обеспечивают прием и отправку факсимильных сообщений. Невыделенные серверы (nondedicated servers) Предоставляют доступ к своим ресурсам и могут выполнять запросы клиентских машин. неделю или месяц. Файловые серверы (file servers) Хранят файлы.

а через концентратор (hub). при описании предмета очень важно указать его форму. что это такое? Будет ли вам проще догадаться. или разъемом RJ-45. по кругу или от центра к периферии. известным под названием BNC (British Naval Connector). Этот кабель называется сегментом (trunk) или магистралью (backbone) и имеет на каждом конце терминатор. рассмотрим некоторые из распространенных форм. Итак.Обзор сетевых технологий 21 разъемов. в котором применяется UTP. а не физической топологии. мы говорим о том. Концентратор содержит специальную схему. Так можно сжечь плату. а в качестве среды передачи используется витая пара. передача ведется без модуляции (baseband). если я скажу. подключаемыми к Т-образным соединителям на плате. Как вы думаете. Для подключения платы к концентратору используется волоконно-оптический кабель или неэкранированная витая пара (unshielded twisted pair. Он идеально круглый. Широко распространенный вариант сети Ethernet. что скорость передачи составляет 10 Мбит/с. или топологий. что используются для подключения компьютерной периферии. или линейная. Сигналы могут распространяться либо справа налево. . сетей. отключающую неисправные сегменты. Осторожно! Не подключайте телефонную линию к сетевой плате. что я держу в руке бильярдный шар. то вы совершенно правы. то платы соединяются друг с другом коаксиальными кабелями. поскольку все компьютеры присоединяются к общему кабелю. каким образом соединены различные компоненты сети. 15-контактным разъемом AUI (Attachment Unit Interface). Как видите. похожим нате. Шинная. либо слева направо. кольцо (ring) и звезда (star). то есть о том. как организована передача данных между машинами — по прямой. Учтите. Я держу в руке какой-то предмет. совместно с модернизированными концентраторами и адаптерами. но крупнее. В этом случае речь идет о логической. напоминающим телефонный. что если посмотреть на соединенные в сеть компьютеры или терминалы. На самом деле под кабелем здесь понимается все множество кабелей. Кабель может оканчиваться круглым разъемом. Если используется "тонкий" Ethernet. имеет название 10Base-T. Сетевая топология Отгадайте загадку. не позволяющий сигналу отражаться обратно и искажать передаваемые сообщения. соединяющих интерфейсные платы. то их конфигурация может не иметь ничего общего ни с одной из этих форм. UTP). Кабели UTP используются и в более современных скоростных стандартах 100Base-T и Gigabit Ethernet. топология Такую топологию реализовать проще всего. Описывая сетевую топологию. Это означает. покрытым зеленым сукном? Если вы решили. Существуют три базовые топологии: шина (bus). Платы могут соединяться не напрямую. белый и очень твердый. что стою рядом с большим прямоугольным столом.

6 показан пример шинной. Каждый ребенок может держаться только за своего соседа. Проще говоря. как в хороводе. Кольцевая топология Представьте себе пятерых детей. CSMA/CD). что чем больше узлов добавляется к шине. то сообщение должно быть передано по . Чтобы избежать конфликтов. 1. перед началом передачи узел должен дождаться освобождения линии. топология Шинные сети просты в реализации и дешевы (не нужно много кабелей). вставших в круг. то есть прослушивают сеть. каждый узел должен выдержать паузу с. Кроме того. Шинная. как требуется. Теоретически каждый узел может посылать сообщения любому другому узлу так часто. а связь является двунаправленной. Фактический прием сообщения выполняет только узел с указанным адресом. Если первый из них захочет шепотом передать какое-то сообщение четвертому. или линейная. ожидая появления адресованных им сообщений. или линейной. тем медленнее могут передаваться сообщения. то они должны ждать своей очереди. Если два узла начнут посылать сообщения одновременно.6.Глава 1 22 В шинной топологии все узлы являются пассивными. не расцепляя рук. в стандарте Ethernet используется технология под названием коллективный доступ с контролем несущей и обнаружением коллизий (carrier sense multiple access with collision detection.о случайно выбранной длительностью и лишь затем повторять передачу. однако возникающие в них проблемы трудно диагностировать. Как видите. Хотя сообщение посылается с уникального адреса отправителя на уникальный адрес получателя. На рис. терминалы и серверы присоединены к одной и той же кабельной линии. на самом деле оно посылается всему сообществу. и не предпринимают никаких действий по организации передачи сообщений между узлами. то оба сообщения будут искажены. Терминалы Магистраль Серверы Направления распространения сигнала Рис. поскольку каждый узел должен ожидать своей очереди на передачу. Обнаружив это. а в случае разрыва кабеля вся сеть становится неработоспособной. 1. взявшись за руки. топологии. Если другие узлы захотят послать сообщение. имейте в виду.

и пассивные концентраторы. Узел может даже усиливать или улучшать сигнал. генерируя. что кабели расходятся от центрального узла во многих направлениях подобно лучам звезды. передаваемый следующему узлу кольца. шепчущих друг другу сообщения.Обзор сетевых технологий 23 цепочке 1-2-3-4 или 1-5-4.7. должен дождаться прихода маркера. как и круг детей. Пассивные концентраторы служат точками подключения для групп узлов. что маркер занят. 1. Звездообразная топология Название этой топологии обусловлено тем. и передает его вместе с сообщением следующему узлу. Концентратор может быть активным или пассивным. Узел. желающий начать передачу. С точки зрения каждого узла. представляющий собой короткую битовую последовательность. при получении которого отправитель генерирует новый маркер. а активные выступают в роли Узел Узел Рис. 1.7 показана звездообразная топология. Эта сеть функционирует точно так же. тогда как пассивный просто передает его по сети. В отличие от шинной сети каждый узел маркерного кольца активно участвует в процессе передачи. На рис. Перед тем как говорить о кабельных соединениях в кольцевой сети. отправляет подтверждение. приняв модифицированный маркер вместе с сообщением. но сигнал может распространяться только в одном направлении. Активный концентратор усиливает сигнал. в которой узлы соединены кабелями с центральным концентратором. сообщая остальным узлам о том. В звездообразной сети могут одновременно присутствовать и активные. кольцевая сеть — чаще называемая маркерным кольцом (token-ring) — представляет собой замкнутое кольцо. Получатель. Затем он модифицирует маркер. Первоначально по кольцу передается маркер (token). что маркер снова доступен. Звездообразная топология Узел Узел . нужно рассмотреть третью разновидность топологии — звезду. передавая и принимая сообщения. тем самым сообщая другим узлам о том.

Звездообразную топологию можно использовать для организации гибридной сети. то таких. однако внутри концентратора существует самое настоящее кольцо. передаются от одного узла к другому по кругу. а другая — для движения. тогда как на магистрали установлено ограничение 55 миль в час. но каким образом почтовое сообщение (или файл). мы должны рассмотреть потенциальные ограничения. по которой я ехала в самом начале. чем в кольцевой конфигурации. других концентраторов и отдельных узлов. штат Вирджиния. существует специальный предопределенный порядок передачи маркера. я попадаю на улицу с односторонним движением. как и звезда. может оказаться . где достаточно места и для парковки на обеих сторонах. Сеть с маркерным кольцом имеет такую же конфигурацию кабелей. Компьютеры и другие устройства подключаются к концентраторам с помощью экранированных или неэкранированных витых пар. как выполняются соединения в звездообразной топологии. как я. если сеть имеет только один концентратор. Теперь посмотрим. которые могут влиять на передачу данных. поддерживающие несколько типов кабельных соединений. Поскольку узлы физически не связаны в кольцо.24 Глава 1 центральных "сборных пунктов" для серверов. Аналогично маркерному кольцу очередность передачи сообщений в звездообразной конфигурации определяется с помощью маркера. На первом перекрестке я поворачиваю на другую улицу. которые должны быть не длиннее 100 футов. Если в это время проводится большая распродажа. называемые кадрами (frames). длина которых может достигать нескольких тысяч футов. Пакеты данных. где одна полоса предназначена для парковки. Когда мне нужно попасть в местный супермаркет. я еду по магистрали до нужного съезда. скорость ограничена 15 милями в час. Эта дорога ведет к магистрали. как данные передаются по сети. то его поломка приведет к неработоспособности всей сети. Звездообразные сети обладают хорошей расширяемостью. На узкой улице. Итак. которое вы захотите мне послать. Конечно. Поскольку каждый узел соединен с концентратором отдельным кабелем. Существуют также гибридные концентраторы. а я в Вене. позволяя легко добавлять или удалять узлы. теперь вы имеете представление об основных сетевых топологиях и некоторых распространенных типах сетей. Между нами огромное расстояние! Чтобы начать объяснение того. хотя кабели разведены в виде звезды. и для движения в обоих направлениях. содержащей активные концентраторы и общие шины. Жизнь — это скоростное шоссе Выезжая утром из дома. Для соединения концентраторов между собой используются волоконно-оптические кабели. имеющей по шесть полос в каждом направлении. Я доезжаю до светофора в конце этой улицы и выезжаю на магистраль с тремя полосами для движения в каждом направлении и разделителем посередине. локализовать проблему здесь гораздо проще. попадет в место назначения? Вы можете находиться в Лондоне. Все это интересно.

называется пропускной способностью. Компьютерная сеть во многом похожа на дорожную. поэтому пакеты. после этого еще нужно найти свободное место. детально описывающих процедуры вычисления контрольного значения и способы обработки ошибок.Обзор сетевых технологий 25 много. помогающая убедиться. передающий данные. поэтому общая скорость пересылки данных по сети будет определяться самым "узким" местом. Как же нам организовать одновременную отправку своих данных? Нет ничего проще! Каждое сообщение при передаче разбивается на последовательность пакетов. относящиеся к разным сообщениям. в том числе и для обработки ошибок. Что еще. с которой кабель может передавать данные. что вы хотите переслать по сети огромный файл. Скорость. Это значение включается в пакет. чтобы разрешить проблему. могут чередоваться. Поле данных содержит саму передаваемую информацию и обычно имеет размер от 512 байтов до 4 Кбайт. . Принимающий компьютер также вычисляет значение по содержимому пакета и сравнивает его с тем. Заголовок содержит адреса источника и назначения. если вы полностью загрузите систему пересылкой своего файла. В каждый пакет включается информация. и это позволяет передавать наши файлы практически одновременно. Теперь представим. откуда он был отправлен и кому предназначен. чтобы принимающая сторона могла собрать исходное сообщение? Пакет должен содержать информацию о том. CRC). вычисляет по ним некоторое значение. чтобы попасть на стоянку перед супермаркетом. которое было послано передающим компьютером. Следовательно. Разные участки сети могут иметь разную пропускную способность. Компьютер. должно входить в состав каждого пакета. а мне в то же самое время нужно передать небольшое сообщение. а также управляющую информацию. поля данных и заключительной части. на основе которой принимающая сторона может собрать исходный файл в правильном порядке. мне придется довольно долго простоять в пробке. Конечно. что принятые им данные в точности соответствуют посланным? Для этого применяется так называемая циклическая проверка четности с избыточностью (cyclical redundancy check. а мне придется ждать. кроме данных. В противном случае принимающий компьютер будет использовать содержащуюся в пакете информацию для обработки ошибок. порядковый номер и информацию для обработки ошибок. Будет несправедливо. Если оба значения совпадают. Хотя сети работают достаточно быстро. то данные можно считать достоверными. большой файл превращается во множество мелких пакетов. В заключительной части находится прочая необходимая информация. но это уже совсем другая история. Кабели рассчитаны на передачу разного объема трафика. что данные были переданы без искажений. Каким образом» компьютер может убедиться в том. Это значит. с которых организован съезд. что машины из всех шести рядов будут перестраиваться на одну или две полосы. Существует несколько стандартов. Возможно. передача каждой порции данных все равно занимает какое-то время. Фактически пакет состоит из трех частей: заголовка.

Расстояние между соседними вершинами (максимумами) или впадинами (минимумами) называется периодом колебаний. Принимающая сторона должна иметь аналогичный механизм. Формы аналогового и цифрового сигналов показаны на рис. называется пропускной способностью. Аналоговый сигнал представляет собой непрерывно изменяющуюся волну.8. Вспомните. которая обеспечивает связь по сети. тогда как цифровой имеет вид дискретных импульсов. что в каждом подключенном к сети компьютере есть плата адаптера. Выше говорилось. то можно увидеть. что в нем присутствует целый набор частот. в какой форме посылается сигнал: аналоговой или цифровой. от низких до очень высоких. 1. о котором упоминалось ранее в этой главе. Если посмотреть на частотный спектр аналогового сигнала. Способ измерения пропускной способности зависит от того. Аналоговый сигнал Цифровой сигнал Рис. добавить к ним адреса отправителя и получателя. Пропускная способность аналогового канала связи зависит от его полосы пропускания. позволяющий считать все пакеты и собрать из них исходный файл. Аналоговый и цифровой сигналы . тем больше колебаний происходит на заданном временном интервале и тем выше частота сигнала. с которой оборудование может передавать данные.8. Частота измеряется в герцах (Гц) и представляет собой количество колебаний. происходящих за одну секунду. 1. то есть от разности между максимальной и минимальной частотами. Обратимся сначала к аналоговому сигналу. Большую часть перечисленных задач выполняет сетевой адаптер. что максимальная скорость. Чем меньше этот период. которые могут передаваться по этому каналу.Глава 1 26 Формирование пакетов и передача данных Вы можете спросить: какая аппаратура или программа помещает данные в пакеты и присоединяет к ним служебную информацию? Кто собирает данные на другом конце? Используемый для этого механизм должен разделить данные на небольшие фрагменты. после чего отправить пакеты в сеть.

Теперь обратимся к широкополосной передаче и посмотрим. Немодулированные сигналы широко используются в сетях Ethernet и Token Ring. В этих случаях говорят соответственно о мультиплексировании с пространственным разделением (space division multiplexing) или о мультиплексировании с временным разделением (time division multiplexing). одна передача должна занять весь канал. Чем больше битов передается за одну секунду. Можно задать три вопроса. Чем дальше цифровой сигнал распространяется по каналу. Между каналами оставляют небольшие интервалы неиспользуемых частот. Нужно угадать название предмета. коаксиальному или волоконно-оптическому кабелю) в виде набора частот. и в конце концов может стать совершенно неразборчивым. чтобы сигналы не мешали друг другу. При немодулированной передаче по каналу связи в каждый момент времени передается только один цифровой сигнал. если мы с вами не сидим друг против друга или не можем оперативно общаться. выделив каждому сигналу свой частотный канал. мегабайтами в секунду (Мбайт/с) или даже гигабайтами в секунду (Гбайт/с). но это не так. Прежде всего широкополосный сигнал является аналоговым и распространяется по среде (например. тем сильнее он затухает и искажается. в подобную игру трудно играть. Решение состоит в использовании специального механизма. тем она выше. Однако при немодулированной передаче возникает одна проблема. Немодулированная и широкополосная передача Существуют две основные формы передачи сигналов: немодулированная (baseband) и широкополосная (broadband). . вы обязаны следовать двум правилам. которым мы пользуемся в повседневной жизни. восстанавливающего форму сигнала. С помощью техники мультиплексирования (multiplexing) по одному каналу можно одновременно передавать несколько потоков данных. "нет" или "может быть". предполагающих только ответы "да". которую только что придумала. видеосигналы и данные. Разумеется. Пропускная способность большинства современных линий связи измеряется килобайтами в секунду (Кбайт/с). Чтобы одновременно отправлять и принимать информацию. которые должны быть составлены довольно специфическим образом. По разным каналам можно одновременно передавать голос. Казалось бы. Оно написано у меня на карточке. Соответствующее устройство называется репитером (repeater). Широкополосная передача обычно используется в глобальных сетях и кабельном телевидении. Таким образом. необходимо иметь либо два канала. В любой игре сначала нужно понять цель и узнать правила. чем она отличается от немодулированной. либо два отдельных кабеля. Из описания условий моей игры вы знаете. разделяя их во времени или пространстве. что можно задать только три вопроса.Обзор сетевых технологий 27 Для цифровых сигналов пропускная способность измеряется в битах в секунду (бит/с). По кабелю можно передавать в одном направлении сразу несколько сигналов. Взаимодействие открытых систем Хочу предложить вам одну игру.

а затем вкратце познакомимся с некоторыми другими стандартами. Модель ISO/OSI дает только общую схему построения компонентов сети. топологиями. основана на семи уровнях протоколов. определяемая стандартом OSI. . Следует также иметь в виду. конкретная реализация этих компонентов определяется производителями. чтобы на них было проще ссылаться в дальнейшем. Обычно их называют просто моделью ISO/OSI. Подробно рассмотрим каждый из уровней. Следование этим стандартам помогает производителям оборудования и программного обеспечения создавать продукты. Модель архитектуры.28 Грава 1 До сих пор мы рассматривали только физическое устройство сети. поскольку каждый следующий уровень все дальше отходит от физического оборудования и все более ориентируется на конечного пользователя. что существует несколько различных стандартов. на основе которых могут строиться сети.3 перечислены все семь уровней и даны их краткие описания. В таблице 1. тогда как самый верхний обеспечивает взаимодействие с прикладными программами. что модель OSI определяет последовательные уровни абстракции. Семь уровней модели OSI Каждый из уровней OSI отвечает за выполнение определенных действий по подготовке информации к передаче по сети. а также способами передачи и приема информации. Уровни пронумерованы. образуя пригодную для работы сеть? Это стандарты — иначе говоря. ISO) разработала набор стандартов под названием "эталонная модель взаимодействия открытых систем" (Open Systems Interconnection reference model). как должны проектироваться и конфигурироваться разнородные компоненты сети. Что позволяет этим компонентам успешно стыковаться друг с другом. В 1978 году Международная организация по стандартизации (International Organization for Standardization. Они описывают. Мы познакомились с частью сетевого оборудования. Предоставление услуг вышележащему и доступ к нижележащему уровню осуществляются через четко определенные интерфейсы. правила. которым необходимо следовать. чтобы участвовать в игре под названием "работа в сети". Самый нижний уровень относится к физическому оборудованию и имеет дело с электрическими сигналами. Эти семь уровней иногда называют стеком протоколов (protocol stack). Уровни могут взаимодействовать только со своими непосредственными соседями по стеку. чтобы была возможна их совместная работа. Эти стандарты были пересмотрены и заново опубликованы в 1984 году. поскольку каждый из них основан на предыдущем. Обычно говорят. Сеть может состоять из множества компонентов с самой разной архитектурой. легко стыкующиеся друг с другом с образованием многоуровневой архитектуры.

те. Физический (physical layer) Определяет состав оборудования и передает данные в виде непрерывного последовательного потока битов по физическим линиям связи. Уровень 7: прикладной Прикладной уровень обеспечивает приложениям доступ к сети и обслуживает пользователей. но в действительности выполняют функции более низкого уровня. рассмотрим их немного подробнее. Некоторые из них — например. кому можно было бы поручить это дело.3. Поскольку вам и вашим пользователям чаще всего приходится взаимодействовать с прикладным уровнем.— хотя и работают на прикладном уровне. . как будет выглядеть приложение для конечных пользователей. Именно здесь располагается код прикладных программ и сетевых операционных систем. Microsoft Outlook или Outlook Express). обнаруживает ошибки и управляет потоком данных. так и между сетями. 5 Сеансовый (session layer) Позволяет устанавливать сеансы связи и предоставляет стандартные средства пересылки данных между прикладными программами. поскольку работа должна быть выполнена. Предоставляет интерфейс физическому/канальному уровням для программного обеспечения более высокого уровня. работы с электронной почтой (например. который самостоятельно вводит данные в таблицы. 4 Транспортный (transport layer) Обеспечивает надежную и прозрачную транспортировку пакетов между станциями. начнем именно с него. определяющие. На этом уровне определяются типы соединителей. что предназначены для передачи файлов. Теперь. передачи файлов. в каком порядке рассматривать эти уровни — начиная с седьмого или с первого. а рядом нет никого. 3 Сетевой (network layer) Обеспечивает адресацию и маршрутизацию как в пределах одной сети. их функции остаются одинаковыми. взаимодействующие с базой данных Oracle) или ведения бухгалтерского учета. параметры сигналов и схемы доступа к разделяемой среде передачи. Канальный (data link layer) Упаковывает данные в кадры и устанавливает фактические сетевые соединения.29 Обзор сетевых технологий Таблица 1. когда у вас есть общее представление о каждом уровне. Приложения могут быть самыми разнообразными — для буферизации печати. Семь уровней модели OSI № уровня Название Прикладной (application layer) Описание Обеспечивает приложениям доступ к сети и реализует стандарты. 6 Представления данных Согласует представления информации. используемые (presentation layer) в разных системах. Их можно сравнить с менеджером. доступа к базам данных (SQL*Net или Net8. Синхронизирует блоки данных. Независимо от того.

HTTP). хотя в некоторых (в частности. что в . Многие из этих протоколов. и я хочу начать с вами диалог. Уровень 6: представления данных Если бы вы читали этот текст с экрана компьютера. является протокол передачи гипертекста (Hypertext Transfer Protocol. а в EBDIC — числом 129. как это было задумано программистом. приложение для работы с электронной почтой реализует спецификацию обработки сообщений Х. используемых разными компьютерами. Каждое приложение. что вы видите на экране мигающие символы. В большинстве современных компьютеров используется американский стандартный код для обмена информацией (American Standard Code for Information Interchange. не правда ли? Примером протокола. EBCDIC). будут рассмотрены в главе 2. то заголовок раздела был бы выделен полужирным шрифтом. После установления соединения мы будем общаться до тех пор. перед отправкой сообщения мне потребуется ввести пароль. а также работать со службами каталогов — например службой именования доменов. В коде EBCDIC всегда используются 8 битов. работающее в сети. а служба каталогов — спецификацию Х. что на наших компьютерах установлена служба моментальной доставки сообщений. представляющих те же 256 символов. мэйнфреймах IBM) все еще применяется расширенный двоично-кодированный десятичный код информационного обмена (Extended Binary Coded Decimal Interchange Code. Протоколы и стандарты. Итак. Основная задача уровня представления данных — обеспечить правильное форматирование информации. Помимо этого. ASCII). На этом уровне "живут" графические форматы и наборы символов. сначала я должна привлечь ваше внимание. Этот сценарий предполагает. в его обязанности входит шифрование и сжатие данных. Возможно. скажем. Во всех случаях вы взаимодействуете с уровнем представления данных. плоттеры и другие периферийные устройства. Например.400. использует определенные протоколы прикладного уровня. используемый для форматирования информации на Web-сайтах. чтобы конечный продукт выглядел так. о которой говорилось ранее. Однако в ASCII буква а нижнего регистра кодируется десятичным числом 97. Код ASCII позволяет представить до 256 символов с помощью 7 или 8 битов. Уровень 5: сеансовый Предположим. а также управление выводом на принтеры.30 Глава 1 Этот уровень позволяет совместно использовать принтеры и файлы. или формы для ввода данных. пока один из нас не решит прекратить диалог. Есть разница. или графики. используемые Oracle. Как мне это сделать? Разумеется. появились относительно недавно. в котором реализованы функции уровня представления данных. Теперь предположим. именно уровень представления данных отвечает за согласование форматов.500. Systems Application Architecture (SAA) фирмы IBM.

а затем контролирует и синхронизирует потоки данных. Этот уровень "вскрывает" каждый пакет. когда и в течение какого времени должен вести передачу. которую они имели в момент создания. Кроме того. чтобы данные были приняты полностью и в правильной последовательности. который можно было бы отнести исключительно к сеансовому уровню. как и другой аналогичный протокол. сеансовый уровень отвечает за распознавание имен. транспортный уровень будет искать другой маршрут. Когда дело доходит до транспортного уровня. однако в отличие от него действует локально. связанные с безопасностью. Он может хранить данные. При передаче между более высокими уровнями массивы данных сохраняют ту длину.Обзор сетевых технологий нашем распоряжении есть механизм. Транспортный уровень выступает в качестве посредника между вышележащими . AE). Примером протокола сеансового уровня является расширенный пользовательский интерфейс NetBIOS (NetBIOS Extended User Interface. Именно транспортный уровень обеспечивает контроль за тем. Чтобы можно было восстановить правильную последовательность пакетов в случае их неупорядоченного прибытия. NetBEUI). определяя. пока соединение не будет восстановлено. сеансовый уровень решает все вопросы. В процессе передачи принимающий компьютер использует для упорядочения сообщения временную область хранения. транспортный уровень нумерует каждый из них. регистрацию. Уровень 4: транспортный Транспортный уровень во многом дублирует расположенный ниже сетевой уровень. Приняв все пакеты. контроль за выполнением этих операций также осуществляется транспортным уровнем. по которому можно послать данные.) Однако NetBIOS. позволяющий приложениям запрашивать сеансовые соединения. транспортный уровень принимающей машины уведомляет передающую машину о необходимости приостановить передачу. часто выполняет функции и сеансового. называемую буфером кадра (frame buffer). Named Pipes. (NetBIOS — это интерфейс прикладного программирования. когда используется мультиплексирование сообщений или сеансов. Сеансовый уровень позволяет устанавливать сеансы связи между двумя сторонами. Если сеть станет недоступна. Похоже. известными под названием прикладных сущностей (application entity. используемый в сетях Microsoft. и транспортного уровней. Установив соединение. Если этот буфер заполняется. обеспечивающий бесперебойное ведение диалога. кто. чтобы убедиться в отсутствии искажений. данные разбиваются на пакеты одинакового размера с учетом требований сетевого уровня. что не существует такого протокола. В тех случаях. транспортный уровень собирает из них исходный массив информации. После завершения диалога он должен обеспечить успешное разъединение сторон. администрирование и тому подобные функции. Еще одна задача этого уровня — информирование компьютера-отправителя о безошибочном приеме сообщения.

или "прошит". что необходимо установить связь по сети между двумя разнородными компьютерами. • Освобождает вышележащие уровни от необходимости что-либо знать о фактических технологиях передачи и маршрутизации. о котором говорилось выше. Каждый компьютер имеет физический адрес. При необходимости кадр передается маршрутизатору. и протокол последовательного обмена пакетами (Sequenced Packet Exchange. Прежде всего ему присваивается IP-адрес (в точечной десятичной записи). Среди перечисленных выше задач сетевого уровня упоминалась адресация сообщений. IP.— это NetBIOS. о котором было сказано выше. спросите вы? Судите сами. На сетевом уровне определяется маршрут отправки сообщения. связанными с сетью и сетевым оборудованием. За их сборку отвечает сетевой уровень принимающей стороны. реализованного многими компаниями. Теперь предположим. У каждого из нас есть как минимум фамилия и имя. MTU) на принимающей стороне. Какое отношение все это имеет к сетям и адресации. Одним из них является протокол управления передачей (TCP). Он входит в состав стека протоколов TCP/IP. то кадр разбивается на более мелкие фрагменты. • Гарантирует надежность доставки вышележащим уровням. о котором я говорила при описании одноранговых сетей. По какой-то непонятной причине мама стала называла ее Питсаритц. SPX) фирмы Novell. Два других транспортных протокола. исходя из состояния сети. Как это сделать наиболее эффективно? Проблема решается путем использования сразу нескольких транспортных протоколов на одной машине. или использовать прозвище в кругу друзей. Этот так называемый МАС-адрес (Media Access Control —управление доступом к среде). Сетевой уровень должен . компьютер имеет один или несколько логических адресов. Если размер кадра превышает максимальную единицу передачи данных (maximum transmission unit. Одновременно с этим компьютер может иметь Web-адрес в формате URL. Даже учителя называли ее именно так. Уровень 3: сетевой Сетевой уровень выполняет следующие функции: • Обеспечивает маршрутизацию и адресацию сообщений внутри сетей и между сетями. Мой сын Марк ненавидит свое второе имя (которое я не привожу здесь по этическим соображениям). Это прозвище прилипло к ней. который записан. и нижележащими уровнями. приоритета пакета и других факторов. ориентированными на использование в приложениях. в его сетевой плате. например на работе. и на протяжении всей учебы в школе Лорена была известна как Питси. Как правило. • Выбирает физический маршрут передачи данных. В детстве у меня была подруга по имени Лорена.и URL-адреса являются логическими.32 Глава 1 уровнями. поэтому никогда не использует его. человека могут называть по имени и отчеству. записанные в свидетельстве о рождении. Кроме того. применяемых на PC. Остановимся на этом более подробно.

Уровень 2: канальный Когда-то давно я увлекалась мозаикой. Как следует из названия.3) и спецификация сетей Token Ring (IEEE 802. HDLC). разработанные Институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronic Engineers. используемых для соединения оборудования • Способы соединения кабелей с сетевыми адаптерами Помимо работы с оборудованием. Необходимая для этого информация содержится в специальном файле.Обзор сетевых технологий 33 разрешать логические сетевые адреса в физические. Например. IEEE). предоставляемого физическим уровнем. и составляет из них сообщения. физический уровень управляет кодированием и декодированием битовых потоков. На физическом уровне между компьютерами пересылаются потоки нулей (0) и единиц (1). берутся небольшие кусочки материалов разной формы. Чтобы сделать мозаичную картину. работающих на сетевом уровне. Из спецификаций. относятся высокоуровневый протокол управления каналом (High-Level Data Link Control. Среди протоколов. Канальный уровень отвечает за установление соединений между узлами сети и передачу кадров средствами физического уровня. На этом уровне определяются характеристики электрических сигналов. Этот уровень может получать от принимающего компьютера подтверждение приема и при необходимости повторно передавать кадры. этот уровень имеет дело с физическим оборудованием. Затем сообщение проверяется и передается следующему. мы достигли самого нижнего уровня модели OSI. а также их синхронизацией. относящийся к . в которых описано: • Количество и назначение контактов в разъемах • Типы и разновидности кабелей. Уровень 1: физический Итак. особо выделяются три: спецификация сетей Ethernet (IEEE 802. используемый в одноименной сети с коммутацией пакетов. описывающих этот уровень. а также стандарт последовательной связи RS-232-C. функции канального уровня реализует специальная интегральная схема сетевого адаптера. разъемы и контакты. можно назвать протокол межсетевого взаимодействия (IP).25. волоконно-оптические). художественно раскладываются и склеиваются. ADCCP). К нему же относятся кабели (коаксиальные. Через него общаются с внешним миром все остальные рассмотренные нами уровни. протоколы двоичной синхронной передачи и так называемые усовершенствованные процедуры управления передачей данных (Advanced Data Communications Control Procedures. витая пара. Как правило. существуют спецификации. К протоколам. которые были искажены. Подобно этому. а также протокол Х. используемым на этом уровне. который присутствует в каждой системе. канальный уровень берет символы из потока.5). сетевому уровню.

используемые для координации работы компьютеров и передачи информации. Протокол — это соглашение относительно способа передачи данных между различными частями сети. Немного о протоколах В предыдущих разделах часто упоминались названия различных протоколов.34 Глава 1 модемным коммуникациям и разработанный Ассоциацией электронной промышленности (Electronic Industries Association. Семантика описывает структуры данных. что же такое протокол. чьи идеи будут превалировать в определенной области. Именно стандарты синхронизации позволяют поддерживать между нашими машинами нормальную связь. Синтаксис определяет. каким образом используются уровни сигналов. которые также являются многоуровневыми и часто упоминаются в разговорах на сетевую тему. Эталонные модели SNA и TCP/IP Хотя модель OSI получила наиболее широкое распространение и упоминается чаще всего. Давайте по очереди рассмотрим каждый из этих стандартов и выясним. На каждом уровне существует ряд стандартов.24 очень похож на RS-232-C. Европейский международный стандарт V. Что понимается под согласованием скоростей? Допустим. . кроме того. Разработчикам трудно устоять перед соблазном слегка модифицировать свой продукт. чтобы сделать его "лучше" в тех или иных аспектах. используемым практически повсеместно. Часто возникают споры о том. известная под названием "системная сетевая архитектура" (System Network Architecture. На практике стандарты не всегда реализуются в полном соответствии с моделью OSI. EIA). Стандарт RS-232-C. в частности. становится стандартом де-факто. Синхронизация обеспечивает передачу данных в правильной последовательности и согласование скоростей между машинами. Другая модель непосредственно связана с Интернетом и называется эталонной моделью TCP/IP или эталонной моделью Интернета. ваш компьютер имеет модем с максимальной скоростью 33. Порой бывает так. Отличным примером популярности (или монополии). и тогда протокол. но не было толком пояснено. подробно описывающих функционирование всех компонентов данного уровня. используемый в нем. Аналогично любому языку протоколы имеют свой синтаксис и семантику. они устанавливают способы синхронизации.6 Кбит/с. Одна из этих моделей — сетевая архитектура IBM. Эти стандарты являются результатом длительной работы различных комитетов. служит Microsoft Windows во всех ее разновидностях. определяет назначение контактов в разъемах и уровни напряжений. что какой-нибудь продукт приобретает огромную популярность. для полноты картины следует описать еще две модели. представляющие 0 и 1. что отличает их от модели OSI. а моя машина может устанавливать соединение на скорости 54 Кбит/с. SNA). устанавливающей стандарты.

поэтому первоначально модель SNA определяла способы связи между терминалами и мэйнфреймами. приблизительно эквивалентных уровням OSI.) .) Управление потоком данных (data flow control) Устанавливает правила.4.) Управление передачей (transmission control) Поддерживает связь между узлами. Уровни модели SNA компании IBM Уровень Описание Службы транзакций (transaction services) * Предоставляет протоколы связи между приложениями. (Соответствует прикладному уровню модели OSI. В SNA его непосредственная реализация отсутствует. Два добавленных уровня отмечены звездочками. APPC). маршрутизирует данные по сети и обеспечивает их надежную доставку.) Службы представления данных Обеспечивает форматирование. Эта модифицированная спецификация известна под названием "усовершенствованные межпрограммные связи" (Advanced Program to Program Communications.) Физический * Описывает структуру физического оборудования и параметры электрических сигналов. инициирует. (Частично соответствует сеансовому уровню модели OSI. завершает и обслуживает сеансы. чтобы облегчить взаимодействие между своими продуктами. (Частично соответствует сеансовому. используемых в сети.35 Обзор сетевых технологий Модель SNA В 1970 году компания IBM разработала модель SNA. (Соответствует физическому уровню модели OSI. которые будут действовать в ходе сеанса связи. В то время IBM производила мэйнфреймы. Тем не менее между ней и появившейся позже моделью OSI можно провести параллели. Уровни SNA перечислены в таблице 1. транспортному и сетевому уровням модели OSI. (Соответствует канальному уровню модели OSI. но затем была расширена до семи уровней. (Соответствует транспортному и сетевому уровням модели OSI.) Управление маршрутом (path control) Создает связи с узлами. сжатие и преобразование (presentation services) данных.4. В первоначальном варианте модель SNA содержала пять уровней. принтеры и терминалы.) Управление каналом (data link control) Обеспечивает надежную передачу данных через физическое сетевое оборудование. управляет этими связями и маршрутизирует данные. она ориентирована главным образом на продукцию этой компании. В скобках указаны соответствующие уровни модели OSI. Поскольку модель SNA создавалась IBM. Таблица 1. (Соответствует уровню представления данных модели OSI. Позже она была модифицирована с целью поддержки микрокомпьютеров и PC. а также определяет режим передачи — дуплексный (данные передаются одновременно в обоих направлениях) или полудуплексный (в каждый момент данные передаются только в одном направлении).

Эталонная модель TCP/IP (Интернета) Уровень Прикладной (application layer) Описание Эквивалентен прикладному уровню и уровню представления данных модели OSI. называемые сетевыми управляющими программами (Network Control Programs. TCP/IP теперь может работать и на мэйнфреймах.5. Версия TCP/IP для мэйнфреймов обращается ко многим службам уровней SNA. они вовсе не исключают друг друга. Как и для модели SNA.5. хотя всем известно. / Таблица 1.36 Глава! Модель SNA строилась вокруг мэйнфрейма IBM и была основана на предположении. но он не заменил полностью модель SNA. Если сеансы связи не ограничиваются мэйнфреймом. Его функции идентичны тем. в скобках указаны соответствующие уровни модели OSI. SNA и OSI определены по-разному. Однако наибольшее распространение в наши дни получил протокол TCP/IP. разработанной в соответствии с моделью ISO/OSI. предусматривает два различных типа узлов. Хотя модели TCP/IP. Конечные узлы (end nodes. Нередко бывает так. NCP). в котором информация передается между рабочими станциями и сетями. что сеть и операционная система основаны на разных моделях. что за создание каждого сеанса связи отвечает мэйнфрейм. EN) пользуются услугами сети. Расширение APPC. Например. Уровни этой модели перечислены в таблице 1. Эталонная модель TCP/IP Как следует из самого названия. и при этом взаимодействует с сетью SNA. а физический уровень здесь вообще отсутствует. В модели SNA используется много других аббревиатур. что без аппаратуры невозможны никакие соединения. Уровень межсетевого взаимодействия не имеет OSI-эквивалента. тогда как сетевые узлы (network nodes. которая работает под управлением операционной системы. но приведенных здесь должно быть достаточно. упомянутое выше. NN) выполняют задачи маршрутизации и управления. протоколы TCP/IP могут использоваться в локальной сети. чтобы получить некоторое представление об этой модели. состоящей из мэйнфреймов IBM.) . (Соответствует прикладному уровню и уровню представления данных модели 081. эталонная модель TCP/IP (или эталонная модель Интернета) отражает мир межсетевых взаимодействий. Кстати. которые были описаны в соответствующих разделах этой главы. то для маршрутизации через промежуточные узлы и управления маршрутами применяются дополнительные компоненты.

5 (продолжение) Эталонная модель TCP/IP (Интернета) Уровень Описание Транспортный (transport layer) Обеспечивает надежную доставку дейтаграмм из конца в конец и помогает устанавливать соединение. состоящий из заголовка и данных.) Межсетевого взаимодействия (internetworking layer) Содержит протоколы. используемые для передачи дейтаграмм. Дейтаграмма (datagram) — это пакет. отвечающие за маршрутизацию сообщений от отправителя к получателю. (Соответствует сеансовому и транспортному уровням модели OSI. называемое виртуальным каналом (virtual circuit). (Соответствует сетевому и канальному уровням модели OSI. (Не соответствует ни одному из уровней модели OSI. На этом уровне функционируют маршрутизаторы и шлюзы. в этом случае она так и называется: без установления соединения (connectionless).) .) Сетевых интерфейсов (network access layer) Содержит протоколы.Обзор сетевых технологий 37 Таблица 1. Передача данных может не требовать установления фактического соединения. определяющие способы передачи и доставки кадров данных. Этот уровень использует аппаратные адреса сетевых адаптеров и взаимодействует с физическим оборудованием.

.

Сетевые компоненты Oracle .

40

Глава 2

FT
«ЁИ«ачнем эту главу с цитаты из руководства администратора Net8
версии 8.1.5, изданного корпорацией Oracle. В разделе "Обзор Net8" говорится следующее: "Net8 — это фундамент для семейства сетевых продуктов Oracle, позволяющий службам и их приложениям размещаться на
разных компьютерах и взаимодействовать как равноправные приложения. Основной функцией Net8 является установление сетевых сеансов и
передача данных между клиентской машиной и сервером или между двумя серверами". Просто и ясно, не правда ли?
В некоторых отношениях средства Net8 действительно весьма просты. В то же время работа с сетями в Oracle может стать очень сложной.
Рассматривая Net8, я постараюсь сохранять максимальную простоту и
понятность изложения.

Немного истории
Следуя введенному в главе 1 принципу, гласящему, что для понимания настоящего и будущего необходимо изучать прошлое, для начала кратко
рассмотрим вычислительную среду, в которой я начинала работать с
Oracle. Обзор истории продуктов Oracle позволит получить представление о том, с чего все начиналось, насколько далеко продвинулись эти
продукты с тех пор и какую роль сыграли сети в успехе Oracle (а также в
росте компьютерной индустрии в целом).
Корпорация Oracle впервые выпустила свою реляционную систему
управления базами данных (РСУБД) примерно в 1979 году. Однако в ноябре 1983, когда я была нанята в качестве программиста-аналитика категории С для работы над научным приложением, наша компания
использовала всего лишь версию 2.0. Мы писали программы для управления аппаратурой сбора данных и их обработки. Созданные нами программы на языке FORTRAN обрабатывали информацию, хранившуюся в базе
данных. Продукты Oracle были еще очень незрелыми, а их совершенствование велось крайне медленно.
Для диалога с базой данных Oracle мы использовали языки UFI (User
Friendly Interface — дружественный пользователю интерфейс) и Procedural UFI (процедурный UFI), которые были предшественниками SQL и
PL/SQL. Я работала в системе Digital VAX, поддерживавшей графические дисплеи. Наши формы представляли собой графические программы, использовавшие модуль интерактивных форм (Interactive Forms, IAF)
Oracle. Сначала мы создавали исходные файлы с расширением .inp. Затем формы компилировались с помощью команд интерактивной графики
(Interactive Graphics, IAG), и полученные выполняемые файлы (.iap) запускались командой runform.
Для создания базы данных мы использовали команду ccf (create contiguous file — создать непрерывный файл), задавая имя и размер файла.
Когда места в файле начинало не хватать, мы выгружали данные с помощью утилиты экспорта, создавали новый файл большего размера и

Сетевые компоненты Oracle

41

импортировали в него данные. Для загрузки информации в базу данных
можно было использовать загрузчик данных Oracle (Oracle Data Loader,
ODL), а ее мониторинг осуществлялся с помощью системы ODS (Oracle
Display System), которую мы в шутку называли "odious". (Odious — ненавистный, отвратительный. Произносится так же, как и сокращение ODS. —
Прим, пер.) Для запуска базы данных нужно было вводить команду ior
(initialize Oracle — инициализировать Oracle). Для отслеживания состояния данных до и после изменений существовали файлы журналов исходного вида (before image, BI) и журналов изменений (after image, AI).
Работа с базой данных велась через "немые" терминалы. Непосредственно обращаться к базе данных с удаленного компьютера было невозможно.
По мере совершенствования Oracle в нашем распоряжении оказались
три утилиты: FASTFORM, ставшая стандартным генератором блоков в
SQL*Forms; crt, предназначенная для управления экранной средой; и генератор отчетов rpt, позже названный Oracle Report, позволявший отображать отчеты в гибком формате. Утилита rpt представляла собой
интерпретатор, а не компилятор, работала медленно и была сложна в
использовании. Отчет требовалось предварительно скомпоновать и отформатировать, чтобы точно знать, в каком месте страницы будет располагаться каждый элемент. Изменение размера одного столбца могло
потребовать повторной генерации всего отчета.
В РСУБД Oracle с очень давних пор существует учетная запись SCOTT
с паролем TIGER. Ее удобно использовать для изучения структурированного языка запросов (Structured Query Language, SQL) и тестирования
сетевых соединений с базой данных. В первых версиях вы должны были
самостоятельно создать эту учетную запись, указав соответствующий
пароль, присвоить ей необходимые права доступа и только потом запускать сценарии создания демонстрационных объектов. Сценарии хранились (и по-прежнему хранятся) в каталоге SQL*Plus/demo. В более
поздних версиях учетная запись SCOTT и связанные с ней объекты стали
создаваться автоматически.
Поначалу в обязанности администратора базы данных (database administrator, DBA) входило лишь поддержание ее в рабочем состоянии. Некоторые аварии приводили не только к остановке системы, но и к
повреждению информации, заставляя полностью перестраивать базу данных. Настройка или какое-либо влияние на производительность системы
были почти невозможны. Oracle находилась в младенческом возрасте, и
администраторы просто пытались совладать с этим новым и очень странным созданием. Не существовало групп пользователей, куда можно было
бы обратиться с вопросами. В наши дни создано множество замечательных групп, члены которых готовы дать совет и оказать помощь в решении проблем с Oracle.
Стандартный подход к обновлению базы данных Oracle заключался в
установке новой программной системы поверх старой. В случае неудачи
оставалось только признать, что вам не повезло. Большинство компаний
содержали разработчика приложений, одновременно выполнявшего обязанности администратора. Разработчики пользовались примитивными
инструментами, а для решения довольно простых по нынешним меркам

42

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

Появление SQl*Net
В пятой версии РСУБД Oracle мы увидели ряд серьезных усовершенствований. К концу жизненного цикла версии 4 появилась первая версия,
предназначенная для работы на персональном компьютере, но она была
на редкость нестабильна. Версия Oracle для DOS отсутствовала вплоть до
версий S.O.b и 5.О.С. Почти все, кто работал с продуктами Oracle в то время, рано или поздно приобретали себе копию одной из версий Oracle для
PC (не обязательно устанавливая ее на машину). Дело в том, что версии
эти были дешевы и поставлялись с полным набором печатной документации, имевшей гораздо большую ценность, чем сам продукт.
Другим значимым событием, связанным с версией 5, стал выпуск сетевого продукта под названием SQL*Net (версия 1.0), изменившего весь обг, лик систем Oracle. Однако перед тем как рассматривать SQL*Net более
подробно, предлагаю вам на минуту представить себе поезд, идущий по
рельсам. Если бы поезд мог думать, то он не беспокоился бы о том, из какого материала сделаны рельсы и на каком расстоянии друг от друга забиты костыли, крепящие их к шпалам. Единственное, что могло бы его
волновать,— это достаточно ли впереди рельсов, чтобы продолжать движение. Теперь, запомнив пример с этим поездом, обратимся к самой первой версии SQL*Net.
Первая версия SQL*Net была очень проста, но качественно написана
и обладала высокой эффективностью. Она позволяла выполнять программы на разных машинах, подобно тому, как наш поезд может ходить
по множеству путей в разных местах. Реализованный в SQL*Net набор
протоколов служил своего рода "рельсами" для Oracle. Программы баз
данных функционировали в среде, где не требовалось ничего знать об используемом протоколе, точно так же, как поезду не нужно знать о типе
рельсов, по которым он идет.
На сервере запускался специальный прослушивающий процесс, который принимал от клиентов запросы на соединения и передавал их базе
данных. SQL*Net позволял передавать информацию между клиентами и
сервером прозрачным образом.
Темой очередной международной недели пользователей Oracle (International Oracle User Week, IOUW), проходившей в 1991 году в Майами,
штат Флорида, стал "клиентский серфинг". Логотип содержал изображение человека на серфе, оседлавшего гребень океанской волны. Пакет
программ с названием Oracle Card, в основе которого лежал язык
Hypertalk фирмы Apple, был представлен как "волна будущего". Эти программы позволяли с легкостью строить клиентские приложения, обеспечивающие взаимодействие между ПК и базой данных на сервере. В
основном докладе говорилось, что централизованные вычисления на
основе мэйнфреймов уходят в прошлое, будущее же принадлежит только
средам клиент/сервер.

43

Сетевые компоненты Oracle

Внезапное появление эффективного подхода к организации сетевой
работы привело к вычислительной революции. С годами SQL*Net претерпел ряд эволюционных изменений, а его название было заменено на
Net8.

Базовая архитектура
В начале этой главы я цитировала руководство администратора Net8. Давайте еще раз обратимся к этой цитате. "Net8 — это фундамент для семейства сетевых продуктов Oracle, позволяющий службам и их приложениям
размещаться на разных компьютерах и взаимодействовать как равноправные приложения". В среде клиент/сервер приложения обычно хранятся
на клиентских ПК. Ресурсов этих компьютеров (памяти, дискового пространства, вычислительной мощности) хватает только для решения прикладных задач. Сама база данных размещается на мэйнфрейме, мини- или
микрокомпьютере, имеющем гораздо больше ресурсов. Для выполнения
транзакции нужны оба компьютера.
"Основной функцией Net8 является установление сетевых сеансов и
передача данных между клиентской машиной и сервером или между двумя серверами". Выше мы уже говорили о передаче данных между клиентской машиной и сервером, но зачем нужно передавать данные между
двумя серверами? Дело в том, что помимо возможности обращаться к одному серверу базы данных с разных ПК в Oracle существует технология,
которая позволяет взаимодействовать с базами данных, распределенными по нескольким машинам, как с одной логической базой данных. Механизм, используемый для поддержки распределенных баз данных,
называется связью баз данных (database link). На рис. 2.1 показан клиент,
который выполняет задачу, требующую взаимодействия с тремя раздельными базами данных. С точки зрения этого клиента, существует только
одна база данных.
Связь базы данных

Сервер

Клиент "видит" одну базу
данных вместо трех
Рис. 2.1. Клиент, использующий несколько связей баз данных

44

Глава 2

Связь создается внутри базы данных и дает NetS всю информацию, необходимую для соединения с другой базой данных. В конце этой главы будет рассказано о связях баз данных подробнее, а пока отметьте для себя,
что Net8 может использоваться для установления соединений двух типов:
"клиент-сервер" и "сервер-сервер".

Требование к аппаратуре
Моя золовка Джоан дала мне замечательный рецепт приготовления салата из земляничного желе, которым я с удовольствием поделюсь. Вам потребуются две маленьких или одна большая банка земляничного желе,
две чашки горячей воды, одна упаковка мороженой земляники, восемь бананов, одна чашка мелко накрошенных грецких орехов и две небольших
банки сушеных ананасов. Горячая вода вливается в желе, а когда оно растворится, туда добавляют остальные ингредиенты и полученную смесь
охлаждают. Получается очень вкусно.
Заметьте, что в рецепте не было сказано ни слова об "аппаратуре", которая нужна для приготовления этого блюда. Вы должны сами решить,
нужно ли греть воду на плите или в микроволновке или для растворения
желе хватит температуры горячей воды из крана. Я ничего не сказала и о
том, какого типа или размера должны быть приспособления для измерения и смешивания. По этому рецепту можно успешно готовить независимо от того, каким способом нагревается вода или смешиваются
ингредиенты. Единственное, что может повлиять на приготовление,—
это размер емкости, которую вы будете использовать для смешивания.
Она должна быть достаточно большой, чтобы ничего не пролить.
Net8, как и его предшественник, SQL*Net, по большей части не зависит от платформы. В руководстве администратора NetS версии 8.1.5 слово "аппаратура" встречается в единственном комментарии: "Фактически
количество поддерживаемых сетевых протоколов определяется только
ограничениями, накладываемыми аппаратурой, памятью и операционной системой конкретного узла". (О сетевых протоколах Oracle поговорим чуть позже.)
Таким образом, перед установкой и конфигурированием NetS необходимо в первую очередь убедиться, что на компьютере используется совместимое сетевое программное обеспечение. Затем нужно проверить,
подходит ли его версия для той версии NetS, которую предстоит использовать. Наконец, вы должны убедиться, что номер сетевого порта, который
будет присвоен прослушивающему процессу Oracle, не используется другой программой. Подробнее о номерах портов будет рассказано в главе 3.

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

Сетевые компоненты Oracle

45

снимать с луковицы слой за слоем, то в конце концов доберетесь до сердцевины. Сердцевиной луковицы Oracle является РСУБД. Между ней и
другими уровнями лежат сетевые протоколы. Этот второй уровень необходим для взаимодействия со всеми остальными продуктами семейства
Oracle.

Рис. 2.2. Компонентные уровни Oracle
Итак, посмотрим, каким образом сетевые протоколы связывают
воедино все уровни Oracle.

Протоколы Oracle
В первой главе мы обсуждали модель ISO/OSI и сетевые протоколы. Напомню, что когда один компьютер связывается с другим, запрос передается через последовательность уровней, называемую стеком. Каждый
уровень стека выполняет свою часть работы по трансляции сообщения в
серию электрических импульсов. Все стеки сетевых протоколов имеют
много общего, поскольку их основной задачей является передача сообщения по линии связи от одного компьютера к другому.
Основу сетевой части Oracle составляют так называемый прозрачный
сетевой субстрат (Transparent Network Substrate, TNS) и набор стандартных протоколов. TNS обеспечивает взаимодействие всех остальных сетевых компонентов Oracle с сетевым протоколом, установленным на
компьютере. Net8 — это стек уровней, который располагается над сетевым протоколом.
На каждой машине, взаимодействующей с базой данных, должен быть
установлен Net8. В таблице 2.1 перечислены уровни Net8, имеющие отношение к серверу Oracle.

46

Глава 2

Таблица 2.1.
Коммуникационный стек на стороне сервера Oracle
Уровень стека

Описание

Программный интерфейс
Oracle (Oracle-side
Programmatic Interface,
OR)

Отвечает за выдачу ответов на каждое из возможных сообщений,
посылаемых интерфейсом вызовов Oracle (Oracle Call Interface,
OCI) на стороне клиента. Например, OCI-запрос на выборку
25 строк вызовет OPI-ответ, в котором будут возвращены 25
выбранных строк.

Two-Task Common

Устраняет различия в наборах символов, используемых
отправителем и получателем.

. 01

Nets (состоит из трех
подуровней)

Сетевой интерфейс (Network Interface, Nl) — скрывает базовый
сетевой протокол и среду передачи от клиентского приложения.
Средства сетевой маршрутизации (Network Routing, НП)/сетевого
именования (Network Naming, М^/сетевой аутентификации
(Network Authentication, NA) — обеспечивают маршрутизацию
данных к конечному месту назначения.
Прозрачный сетевой субстрат (Transparent Network Substrate,
TNS) — реализует общие коммуникационные процедуры, включая
отправку и прием данных.

Адаптер протокола Oracle
(Oracle Protocol Adapter)

Тонкий слой кода, изолирующий Net8 от базового сетевого
протокола.

Сетезависимый протокол

Стек уровней, обеспечивающих пересылку SQL-операторов
по сети.

Внимание
При использовании межброкерного Интернет-протокола
(Internet Inter-ORB Protocol, МОР) или драйверов JDBC
(Java Database Connectivity) стек протоколов будет
немного отличаться от приведенного в таблице 2.1.
На стороне клиента стек будет таким же, за исключением самого верхнего (прикладного) уровня. Вместо программного интерфейса Oracle
(OPI) здесь используется интерфейс вызовов Oracle (OCI). Запрос, сделанный пользователем через приложение, обрабатывается на стороне
сервера. Ответ посылается клиенту через серверный и клиентский стеки.
В нормальной ситуации (когда не возникает никаких проблем с сетью)
пользователи обычно взаимодействуют только со своими приложениями
и ничего не знают о других уровнях.

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

Сетевые компоненты Oracle

47

Уровень OCI OCI используется для инициирования диалога между клиентом и сервером, чтобы сервер мог начать обработку запроса с синтаксической проверки SQL-оператора. В SQL*Net версии 2 этот уровень
назывался программным интерфейсом пользователя (User Program Interface, UPI), но его функции были точно такими же. Для оператора SQL открывается курсор или буферная область, и все переменные клиентского
приложения помещаются в область разделяемой памяти сервера. Размещение переменной в области памяти для последующего использования в
SQL-запросе называется связыванием (binding). Переменные клиентской
прикладной программы, используемые в SQL-операторах, хранятся в стеке глобальной области процесса (Process Global Area, PGA). В процессе
связывания происходит получение ссылок (указателей) на значения, хранимые в PGA. Поскольку связывание выполняется по ссылке, переменную не требуется связывать заново перед повторным выполнением
SQL-оператора; достаточно просто изменить ее значение.
Затем с помощью серверного словаря данных определяется состав
возвращаемых полей и начинается выполнение SQL-оператора в пространстве памяти курсора. В ходе выполнения оператора клиентскому
приложению посылаются строки данных, а приложение выводит их на
экран. Когда вся информация будет извлечена, курсор или буферная область памяти закрывается и освобождается.
В зависимости от того, как написано приложение, вызовы либо группируются в одно сообщение, либо посылаются по очереди. Разумеется,
цель состоит в том, чтобы минимизировать количество обращений к
серверу и тем самым сократить сетевой трафик. После инициирования
вызова управление передается от уровня OCI к уровням Net8, обеспечивающим установление соединения и передачу запроса серверу.
Уровень Two-Task Common В модели ISO/OSI уровень представления данных обеспечивает согласование форматов данных, используемых
разными компьютерами. Уровень Two-Task Common представляет собой
Oracle-реализацию уровня представления данных. Он выполняет преобразования между различными наборами символов и форматами данных,
используемыми клиентом и сервером. Для уменьшения затрат времени и
ресурсов этот уровень спроектирован так, чтобы выполнять преобразование только при необходимости. Именно здесь принимается решение о
том, нужно ли преобразовывать данные. С этой целью производится
сравнение внутренних представлений данных и наборов символов.
Уровни Net8 Net8 выполняет функции сеансового уровня. Он устанавливает и поддерживает соединения между клиентом и сервером, обеспечивая обмен сообщениями. Как следует из таблицы 2.1, этот уровень
состоит из трех компонентов: N1, связки NR/NN/NA и TNS. Они выполняют следующие функции:
• Сетевой интерфейс (N1) обрабатывает запросы на разрыв ("break")
и сброс ("reset") соединения.

48

Глава 2

• Средства сетевой маршрутизации (NR) обеспечивают маршрутизацию сообщений к месту назначения. Маршрут может состоять из
любого числа промежуточных узлов.
• Средства сетевого именования (NN) разрешают имена сетевых
служб в адреса назначения Net8.
• Средства сетевой аутентификации (NA) обеспечивают аутентификацию, которую может потребовать сервер.
• Прозрачный сетевой субстрат (TNS) предоставляет универсальный
интерфейс к стандартным сетевым протоколам, позволяющий открывать/закрывать соединения и посылать/принимать запросы от
Net8, а также решает общие коммуникационные задачи машинного
уровня.
Компонент TNS вызывает особый интерес, поскольку он самым непосредственным образом взаимодействует с базовыми сетевыми протоколами, определяя следующее:
• Местонахождение клиента или сервера, а также количество
используемых протоколов.
• Способ обработки прерываний между клиентом и сервером.
• Когда и как передавать управление протоколу Oracle
для выполнения вызовов, зависящих от протокола.
Для защиты передаваемых данных TNS поддерживает шифрование и
генерацию криптографических дайджестов сообщений.
Все описанные уровни жизненно важны, поскольку при отсутствии какого-либо из них клиентское приложение не сможет успешно связываться с сервером базы данных.

Что происходит на стороне сервера
Когда сообщение принято на стороне сервера, оно передается вверх по
серверному стеку к базе данных, которая обрабатывает запрос. Серверный стек похож на клиентский, но запрос передается по нему в обратном
порядке — от уровня TNS через программный интерфейс Oracle к серверу
Oracle. После обработки запроса результаты возвращаются клиентскому
приложению — через серверный стек, сеть и клиентский стек.
В случае связей "сервер-сервер" общая схема остается прежней. Единственное отличие состоит в том, что вместо клиентского приложения
здесь используется специальный серверный OCI, называемый сетевым
программным интерфейсом (Network Program Interface, NPI). NPI позволяет серверу конструировать SQL-запросы для взаимодействия с другими
серверами, а при необходимости может выполнять все функции уровня
OCI.

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

. Уровни клиентского стека ПОР перечислены в таблице 2. сеансовый уровень исключается. . в модели ПОР отсутствует уровень Two-Task Common. поскольку GIOP выполняет функции уровня представления данных. а следовательно. Таблица 2. используемый для транспортировки запросов и ответов от одной машины к другой Как видите.3 перечислены уровни серверного стека ПОР. Таблица 2. которые используют Java. ПОР позволяет взаимодействовать с базой данных Oracle тем клиентам. ПОР) и работает поверх TCP/IP или TCP/IP с SSL (Secure Socket Layer). называется межброкерным Интернет-протоколом (Internet Inter-ORB Protocol. Сервер Oracle Уровень. Версия GIOP. .3. выполняющий обработку запросов TNS Прозрачный сетевой субстрат Oracle TCP/IP (с SSL или без него) Oracle-реализация протокола транспортного уровня (может быть дополнена протоколом Secure Socket Layer) Сетезависимый протокол TCP/IP Сетевая реализация протокола транспортного уровня. рассмотрим теперь CTCKjDBC (Java Database Connectivity). На стороне сервера стек ПОР также намного проще. стек ПОР намного компактнее и проще. Коммуникационный стек НОР на стороне сервера Уровень стека Описание . 726 .Сетевые компоненты Oracle 49 протокола (General Inter-ORB Protocol. Коммуникационный стек ПОР Когда клиент использует коммуникационный стек ПОР.2. используемая в Oracle.• Коммуникационный стек НОР на стороне клиента Уровень стека Описание Прикладной Тот же прикладной уровень. использующими для обращения к базе данных Java-приложения (апплеты или JavaBeans). Кроме того.. GIOP). Следовательно. В таблице 2. который присутствовал в клиентском стеке Net8 GIOP Oracle TCP/IP (с SSL или без него) Уровень представления данных Стек сетевых протоколов. обеспечивающего передачу запросов и ответов между машинами Поскольку стек ПОР предназначен для взаимодействия с клиентами. . хорошо подходит для связи через Интернет. . используемого для поддержки Java-клиентов. отпадает необходимость в TNS. Аббревиатура ORB расшифровывается как "брокер объектных запросов" (Object Request Broker).2. 3 Зак.

называемых клиентским прикладным стеком. Разработчики Java-апплетов должны использовать драйвер "тонкого" JDBC. Уровни этого стека перечислены в таблице 2. используя Web-серверы Java или серверы приложений Java соответственно. Если посмотреть на уровни клиентского коммуникационного стека JDBC/OCI. используемый для инициирования SQL-сеансов (во многом похож на интерфейс OCI) В случае коммуникационного стека "тонкого" JDBC набор уровней будет совершенно другим. Как видно из таблицы 2. как написано приложение — с использованием вызовов JDBC/OCI или "тонкого" JDBC. обновления. а вовторых — написать приложение с использованием Java-апплетов. Способ их реализации зависит от того. Уровни клиентского прикладного стека JDBC Уровень стека Описание Клиент JDBC Прикладной Java-код Драйвер JDBC Драйвер JDBC/OCI или "тонкого" JDBC Интерфейс доступа к базе данных (DBAccess) Механизм. удаления и/или получения информации.5. тогда как в стеке JDBC он разделен на три уровня. чтобы лучше понять их роль в обработке запроса. которые передаются серверу базы данных Oracle средствами Net8. и в "тонком" JDBC используется интерфейс DBAccess. передача информации между клиентским Java-апплетом и сервером осуществляется через несколько уровней протоколов. Эти уровни перечислены в таблице 2.4. то можно заметить. Рассмотрим эти уровни по отдельности. что для инициирования SQL-сеанса и в JDBC/OCI.5.50 Глава 2 Коммуникационный стек JDBC Предположим. Во-первых.4. Единственное различие — это клиентский интерфейс. что вы разрабатываете Java-приложение. то потребуется драйвер JDBC/OCI. что они очень похожи на уровни стека ПОР. В таком приложении можно использовать один из двух типов драйверов JDBC. Запомните. Если вы остановитесь на варианте клиент/сервер или тонком клиенте. значительно отличающихся от стандартных коммуникационных уровней Oracle. которое должно соединяться с базой данных Oracle для вставки. . В стеке ПОР верхний уровень обозначался просто как "прикладной". В этом случае для доступа к базе данных применяется упрощенная реализация уровней Net8 и Two-Task Common. чтобы устанавливать прямое соединение с сервером базы данных Oracle через сокеты Java. Этот драйвер преобразует JDBC-код в вызовы OCI. можно написать приложение клиент/сервер или приложение тонкого клиента. Таблица 2.

коммуникационный стек значительно отличается от стандартного стека Oracle.Сетевые компоненты Oracle 51 Таблица 2. как и все другие запросы.5. как показано в таблице 2. JavaNS (Java Network Substrate) — это аналог TNS. а также. . доступный в данной конфигурации. TCP/IP — единственный сетевой протокол. определяет следующее: • Местонахождение сервера назначения • Протоколы. После этого он обеспечивает фактическое выполнение SQL-оператора. Он предоставляет универсальный интерфейс к TCP/IP. Уровни коммуникационного стека "тонкого" JDBC Уровень стека Описание JavaTTC Представляет собой подмножество уровня Two-Task Common и обеспечивает обмен информацией между Java-клиентом и базой данных. Дело в том. JavaNet Состоит из трех уровней: коммуникационного интерфейса . Уровень службы адресации функционирует аналогично уровню NN стандартного стека Oracle. Уровень сетевого протокола Уровень Java TTC Будучи подмножеством уровня Two-Task Common. службы адресации (Addressing) и сетевого субстрата Java (Java Network Substrate).1. Чтобы понять смысл этой 3* . позволяющий открывать/закрывать соединения и отправлять/принимать сообщения. Oracle-совместимые протоколы Корпорация Oracle создала набор протоколов. серверный стек в этом случае остается таким же. уровень JavaTTC выполняет проверку и согласование версий протоколов. форматов данных и наборов символов. что на выходе стека "тонкого" JDBC запрос имеет такой же вид. Уровень коммуникационного интерфейса. обрабатывая адреса назначения Net8. использующего Java-апплеты. Сокеты Java могут работать только поверх TCP/IP. функционально аналогичных уровням N1. Состоит из двух уровней: сокетов Java (Java Sockets) и TCP/IP. Хотя на стороне клиента. . требуемые для установления соединения • Способ обработки прерываний между клиентом и сервером (в зависимости от возможностей каждой стороны) Уровень сетевого протокола Этот уровень разделен на два подуровня: сокеты Java (обеспечивающие связь с JavaNS) и TCP/IP. подобно уровню N1 стандартного стека Oracle. являющихся ее собственной реализацией транспортного уровня. обеспечивает взаимодействие между JavaTTC и нижележащими сетевыми уровнями. (Communication Interface). NR/NN/NA и TNS в Net8. используемых Java-клиентом и сервером. а следовательно. Уровень JavaNet Этот уровень разделен на три подуровня. принимаемые сервером через Net8.

Во всех случаях предполагается. В Интернете стандартом де-факто стал протокол TCP. поддерживаемые Oracle. этот уровень решает множество задач. Каждый из ее протоколов отвечает за отображение функций сетевого субстрата в эквивалентные функции одного из транспортных протоколов. поддерживаемых Oracle. когда вы получили достаточно полное представление о функциях транспортного уровня. Именно так и поступила корпорация Oracle. давайте еще раз кратко рассмотрим функции транспортного уровня модели ISO/OSI. реализованный как часть стека TCP/IP многими компаниями. который поддерживает упомянутый протокол. В таблице 2.6 перечислены некоторые из наиболее распространенных протоколов. Действуя локально. .52 Глава 2 фразы. обеспечивающая правильную сборку в случае неупорядоченного прихода пакетов • Уведомление компьютера-отправителя о безошибочном приеме сообщения • Уведомление передающей машины о необходимости приостановить передачу в случае заполнения буфера кадров принимающей машины • Мультиплексирование сообщений или сеансов при наличии такой возможности Для устранения возможной несогласованности на одной машине могут использоваться несколько транспортных протоколов. Вот их перечень: • Определение альтернативного маршрута передачи в случае возникновении проблем в сети (или сохранение данных до восстановления сетевого соединения) • Обеспечение полного и безошибочного приема данных в правильном порядке • Разбиение данных на пакеты одинакового размера в соответствии с требованиями сетевого уровня » Извлечение информации из принятых пакетов и сборка исходного сообщения • Нумерация пакетов. Очевидно. Теперь.6 указаны не все протоколы. подумаем. Внимание В таблице 2. что для этого нужно реализовать в сетевом продукте поддержку наиболее распространенных транспортных протоколов. что база данных Oracle функционирует на хосте. как можно обеспечить совместимость какого-либо вышележащего протокола с этим уровнем.

Архитектура АРРС допускает одноранговые соединения.1 (Physical Unit Type 2. когда новый клиент посылает запрос к базе данных. используя личный ключ и сертификат. Один процесс (на стороне сервера) создает канал (pipe). поддерживаемые Oracle . Протокол LU6. Каждый раз. LU6. По умолчанию Net8 создает выделенные соединения с базой данных. Когда клиент инициирует соединение с сервером через Net8. .Сетевые компоненты Oracle 53 Таблица 2. выполняющемуся на PC. Поименованные каналы разрабатывались специально для локальных сетей персональных компьютеров.2 предназначен для установления сеансов Связи между двумя прикладными программами.1).6. _ Далее в этой главе о протоколе локального обмена (часто называемом прослушивающим процессом bequeath) рассказано более подробно. Протокол Описание TCP/IP Обеспечивает диалог между клиентом и сервером через стек TCP/IP. что записано в канал одной стороной. и наоборот. Этот протокол используетеятлавным образом в сетях Novell NetWare. Протоколы. связываться с базой данных Oracle по сети SNA. При этом хост с базой данных должен поддерживать АРРС.2 и PU2. TCP/IP с SSL Обеспечивает диалог между клиентом и сервером через стек TCP/IP с использованием протокола Secure Socket Layer (SSL). обеспечивающий межпроцессную связь между клиентами и серверами в распределенных приложениях. SSL хранит аутентификационные данные — сертификаты и личные ключи — в так называемом электронном бумажнике Oracle (Oracle Wallet). Протокол локального обмена (bequeath) Позволяет клиентам извлекать информацию из базы данных. клиент может инициировать связь с сервером. позволяющий клиентам связываться с серверами по сети SNA. Этот протокол порождает отдельный серверный поток для каждого клиентского приложения.2 позволяет клиентскому приложению Oracle.2) Компонент архитектуры усовершенствованной межпрограммной связи (АРРС) компании IBM. Logical Unit Type 6. SSL выполняет процедуру аутентификации. а другой (на стороне клиента) открывает его по имени. но только локально. не используя сетевой прослушивающий процесс. Named Pipes Интерфейс высокого уровня. SPX Обеспечивает диалог между клиентом и сервером через стек SPX/IPX.2 (LU6. Все. между его машиной и прослушивающим процессом сервера устанавливается отдельное соединение. может быть считано другой. АРРС реализуется с помощью протоколов LU6. Прослушивающий процесс присваивает запросу . причем от клиента не требуется эмуляция терминала (как в терминальных протоколах). что и удаленный прослушивающий процесс. По существу он делает то же самое. он не зависит от конкретного продукта.

то соединение между клиентом и сервером может просто "зависнуть" на это время.3 показаны три отдельные клиентские машины. Мы рассмотрим все это более подробно в главе 3. Заметьте. Пока соединений не слишком много. Однако каждое соединение отнимает определенную часть системных ресурсов. поэтому если создавать все новые и новые выделенные процессы. клиентская машина или сервер отключатся из-за останова или перезагрузки каких-либо компонентов системы. а пока достаточно запомнить. что сбои оборудования не всегда приводят к закрытию соединения. если маршрутизатор в сети TCP/IP откажет. посмотрим. то в конце . когда вы знаете. какие проблемы могут быть с ними связаны.54 Глава 2 клиента определенный порт сетевой операционной системы. 2. • Сеть. что каждый запрос требует отдельного соединения с базой данных через свой порт и что каждое выделенное соединение сохраняется до тех пор. имеющие выделенные соединения с базой данных . поводов для беспокойства не возникает. когда будем говорить о прослушивающих процессах. что такое выделенные соединения.3. На рис.f Прослушивающий процесс Сервер Клиент о ^е(8 на сторо^ клиента связывается с прослушивающим процессом и получает номер порта. Три клиента. Теперь. Рис. но будет восстановлен в пределах. пока не произойдет одно из следующих событий: • Клиент завершит сеанс через прикладную программу. 10 минут. Затем Nets отсоединяется от прослушивающего процесса и соединяется через назначенный порт с базой данных. Например. 2. • Истечет заданный период неактивности соединения (при соответствующем конфигурировании). а затем соединяет клиента с базой данных через этот порт. скажем. каждая из которых имеет выделенное соединение с базой данных.

Oracle позволяет устанавливать соединения в многопоточном режиме. Независимо от того. Но если у машины не окажется необходимых ресурсов.Сетевые компоненты Oracle 55 концов либо будет достигнуто максимальное число соединений. а потом ушел обедать. После запуска прослушивающего процесса запускаются базы данных. то после достижения максимально допустимого числа соединений все остальные клиентские запросы будут отклоняться. если только оно не предназначено для автоматической пакетной загрузки или обработки. при запуске системы в первую очередь нужно запустить прослушивающий процесс (listener). чтобы ответить на чей-нибудь вопрос или задать свой. Чтобы извлечь пользу из периодов неактивности и обеспечить работу большего числа пользователей с меньшими затратами ресурсов. Чтобы избежать таких ситуаций. чтобы поддерживать большее число пользователей при затрате меньшего количества ресурсов. Вы собираетесь установить соединение. позволяющий использовать одно соединение одновременно нескольким клиентам. то одновременно с запуском базы данных запускаются диспетчеры.ora присутствуют нужные параметры. . чтобы встретиться с кем-то или просто посмотреть в окно. но получаете отказ. если машина обладает достаточными ресурсами для эффективной поддержки всех соединений. Если в файле инициализации init. какие соединения будут использоваться — выделенные или многопоточные. Кроме того. Представьте себе такую картину. MTS). Таким образом. В предыдущих версиях применялся противоположный подход — базы данных запускались до прослушивающего процесса. не закрыв сеанс. В то же время ваш сосед по офису не использует свое соединение с базой данных: вы видели. каждое соединение наверняка будет неактивно в течение какого-то времени. останавливаюсь. который управляет соединениями с базой данных таким образом. либо адреса. допускаемое сервером. Лично я обычно делаю перерывы на чашку кофе или ланч. поскольку лимит на число соединений уже исчерпан. предназначенный для приема запросов на соединения. корпорация Oracle разработала многопоточный сервер (Multi-Threaded Server. В случае выделенных серверов каждое соединение может использоваться только одним клиентом. указанные в его конфигурационном файле (listener. как он входил в систему. которые требуется устанавливать за определенный период времени. либо сервер исчерпает свои ресурсы и не сможет больше создать ни одного процесса. Это делается с помощью механизма. который затем соединялся с каждой активной базой данных. пользователь не обязательно будет работать с системой постоянно.ora). а иногда на несколько минут отхожу от своего стола. Он прослушивает либо адрес по умолчанию (обычно это порт 1521 или 1526). В этом нет ничего плохого. Посмотрим. которые регистрируются в прослушивающем процессе. В результате все ваши планы рушатся. как работает MTS. называемого диспетчером (dispatcher). Давайте рассмотрим этот режим подробнее.

Итак. Диспетчер помещает запрос в очередь разделяемого сервера. А если в OracleSi базы данных запустятся до прослушивающего процесса? В этом случае они не смогут успешно в нем зарегистрироваться.56 Глава 2 Каждый диспетчер начинает прослушивать назначенный ему адрес.4. Установление MTS-соединения с помощью диспетчера .4. установление MTS-соединений окажется невозможным и все соединения будут выделенными. Прослушивающий процесс определяет адрес наименее занятого диспетчера и передает этот адрес клиенту. 4. Клиент отсоединяется от прослушивающего процесса и соединяется с диспетчером.ora. 3. прослушивающий процесс получает возможность перенаправлять к ним входящие запросы на соединения. 1. После того как диспетчеры зарегистрировались. Разделяемый сервер извлекает запрос из очереди и соединяется с базой данных для обработки запроса. предварительно зарегистрировав его в прослушивающем процессе. 2. Об этом будет подробнее рассказано в главе 3. Как только прослушивающий процесс начнет функционировать и в нем будет зарегистрирована база данных с диспетчером. можно начинать прием входящих запросов. какие диспетчеры зарегистрировались в прослушивающем процессе. можно использовать команду services утилиты Listener Control (Isnrctl). либо сетевое имя. 2. прослушивающий процесс. Клиент посылает запрос. диспетчер использует либо его адрес по умолчанию. Чтобы проверить. Что будет происходить дальше? Взгляните на рис. Сервер Рис. базы данных и диспетчеры запущены и зарегистрированы. 5. где показана процедура установления соединения с разделяемым сервером. то одному сетевому имени может соответствовать несколько адресов. 2. Если используется более одного прослушивающего процесса. указанное в файле init. Чтобы обратиться к прослушивающему процессу.

Сетевые компоненты Oracle 57 Сначала клиент соединяется с прослушивающим процессом по его сетевому адресу. Таким образом. чтобы тот мог равномерно распределять входящие запросы между диспетчерами. разрешено ли обслуживание данного запроса. После установления соединения диспетчер передает прослушивающему процессу новое значение нагрузки. как и при использовании выделенных серверов. Но каким образом диспетчер одновременно обслуживает многих пользователей? Устанавливает ли он физическое соединение с базой данных для каждого клиента? Конечно. какому диспетчеру передать запрос клиента? Мерой загруженности каждого диспетчера служит число обслуживаемых им в данный момент соединений. Освобожденное физическое соединение может использоваться диспетчером для обслуживания других входящих запросов. Получив это сообщение. Прослушивающий процесс проверяет. Оно содержит сетевой адрес наименее загруженного диспетчера разделяемого сервера. Если в системе присутствует более одного диспетчера или более одного узла. Если запрос не может быть обслужен. Когда клиент отсоединяется от диспетчера. Чтобы прослушивающий процесс мог следить за числом активных соединений. то специальный механизм тайм-аута освобождает транспортное соединение между этим клиентом и диспетчером. Если обслуживание возможно. Затем диспетчер помещает клиентский запрос в очередь разделяемого сервера для последующей обработки. то при перенаправлении клиентского запроса прослушивающий процесс принимает во внимание загруженность диспетчеров и количество соединений с каждым узлом. а разделяемый сервер обрабатывает другие входящие запросы. Этот процесс называется балансировкой нагрузки на уровне соединений (connection load balancing). В случае отклонения запроса на соединение прослушивающий процесс просто переходит в режим ожидания новых запросов. диспетчеры посылают ему уведомления о каждом установлении или разрыве соединения. Когда клиент снова активизируется. прослушивающий процесс выдает клиенту перенаправляющее сообщение. клиент разрывает соединение с прослушивающим процессом и устанавливает соединение с диспетчером по указанному адресу. Объединение соединений и балансировка нагрузки Каким образом прослушивающий процесс определяет. разные запросы от одного клиента могут обрабатываться более чем одним разделяемым сервером. Задача решается за счет объединения соединений (connection pooling). сохраняя логическое соединение. Объединение соединений и балансировка нагрузки на уровне соединений могут использоваться только на сервере и только при наличии установленного и сконфигурированного многопоточного сервера. работающими по одному протоколу. . тот остается доступным. сетевой сеанс не открывается. нет — это привело бы к такому же расходу ресурсов. Если клиент бездействует в течение определенного времени. диспетчер восстанавливает физическое соединение. Подробнее обо всем этом будет рассказано в главе 11.

а также для 32-разрядных приложений Windows 95 и 98. то нужно ввести следующую строку: Q sqlplus и8егпап1е/ра88угогс1@имя_службы Часть командной строки @имя_службы указывает на то. поэтому конфигурирование последнего не требуется. ность соединений. если вас не волнует. что этот пароль станет виден всем окружающим. Протокол локального обмена работает только в режиме выделенного сервера и не может использоваться в режиме многопоточного сервера. не знают. что вы хотите установить соединение через Net8..58 Глава 2 Множественные прослушивающие процессы Ранее упоминалось. Многие профессионалы. давайте рассмотрим третью. .. можете ввести в той же строке свое имя и пароль. устанавливающих соединения с базой данных Personal OracleSi. поскольку соединение устанавливается не через сетевой прослушивающий процесс. Теперь предположим. но на локальном уровне. Впрочем. что для обработки клиентских запросов можно использовать более одного прослушивающего процесса. Множественные прослушивающие процессы помогают балансировать нагрузку независимо от того. Этот процесс действует автоматически и не требует явной активизации. предоставляет клиенту те же услуги. установлен ли MTS. Прослушивающий процесс bequeath . Это не сокращает количество требуемых ресурсов. О конфигурировании и использовании множественных прослушивающих процессов будет подробнее рассказано в главе 3. что и прослушивающий процесс Net8. Строка соединения вида "@база^цанных" здесь не нужна. но позволяет более эффективно распределять соединения. Кроме того. Соединения Bequeath Теперь. путем внутреннего порождения серверного процесса для каждого клиентского запроса. Он позволяет извлекать информацию из базы данных в обход сетевого прослушивающего процесса. множественные прослушивающие процессы можно использовать для балансировки нагрузки при наличии нескольких сетевых интерфейсных плат (NIC). Если вы работаете на клиентской машине и хотите напрямую соединиться с базой данных на сервере. когда вы имеете представление о выделенных и многопоточных соединениях. менее известную разновид. Он поддерживается для 32-разрядных приложений Windows NT. В этом случае вам достаточно ввести в строке приглашения операционной системы следующее: Q $ sqlplus Прослушивающий процесс bequeath установит соединение от вашего имени. Протокол локального обмена не использует сетевой прослушивающий процесс. работающие с Oracle. что в системе доступны два типа прослушивающих процессов: прослушивающий процесс Net8 и протокол локального обмена (или прослушивающий процесс bequeath). он устанавливается с параметрами по умолчанию вместе с клиентским программным обеспечением Net8. что вы соединились с сервером через telnet и хотите вызвать SQL*Plus из telnet-сеанса.

на которых разъезжал Сайта Клаус в книге "Ночь перед Рождеством". На рис. необходимой уникальностью обладают имена доменов узлов. Принцип связывания баз данных нетрудно понять.Сетевые компоненты Oracle 59 Связи баз данных В предыдущем разделе мы рассмотрели два вида соединений. Предположим. Связь базы данных может быть доступна всем.5 показана иерархическая схема офисов и баз данных . вам нужно узнать имена северных оленей. для создания глобального имени базы данных нужно поместить имя сетевого домена перед ее индивидуальным именем. Подобно тому. кто соединяется с определенной схемой (частная связь). поискать в Интернете или даже съездить в местную библиотеку или книжный магазин. к которым мы намеревались вернуться. с которыми мы будем иметь дело в этом примере. Но намного проще и быстрее просто позвонить в библиотеку. с какой из них в действительности устанавливается соединение? Помимо собственных имен все базы данных в системе должны иметь уникальные глобальные имена. мог остаться не замеченным вами. Вы звонили одному человеку. связь базы данных предоставляет такую же услугу. 2. кто работает с базой данных (общая связь) или только тому. создаются изнутри базы данных. Тот факт. Раздаются длинные гудки. запрещающего иметь на разных машинах базы данных с одинаковыми именами. к каким объектам они позволяют обращаться и какие действия можно выполнять с их помощью. что прослушивающий процесс не дает ответов на ваши запросы. Давайте коротко проанализируем этот сценарий. как если бы они находились внутри первой. Имейте также в виду. и если вам повезло. Упомянутые выше соединения третьего вида. Теперь настало время поговорить о связях баз данных. что первый из них не знал ответа. что ищете имена оленей Сайта Клауса. с уровня операционной системы. Следовательно. Он не может сразу дать ответ и отсылает вас к другому библиотекарю. При этом обращение к объектам второй базы данных будет происходить так же. если подумать о том. поскольку в конце концов нужная информация была получена. если вы создали на нескольких машинах базы данных с именем ORDDB. Вы можете попробовать найти эту книгу у себя дома. который и называет искомые имена. а теперь хотите обращаться к ним одновременно? Как определить. что они устанавливались извне базы данных. По существу. прослушивающий процесс передает ваш запрос другой базе данных через соответствующую связь. Для этого вы снимаете трубку и набираете номер библиотеки. какими способами мы получаем информацию в повседневной жизни. принадлежат некоей компании XYZ. Вы объясняете ему. Вы говорите "спасибо" и вешаете трубку. то вы слышите голос библиотекаря. а затем рассмотрим. как создаются эти связи. Глобальное именование В Oracle нет правила. Предположим. Но как быть. Как правило. позволяя соединяться одной базе данных с другой. общей чертой которых было то. как первый библиотекарь передал вопрос кому-то другому. Сначала мы познакомимся с общей архитектурой связей баз данных. что все базы данных. но в действительности на вопрос ответил другой.

Четыре производственные базы данных расположены в разных частях Соединенных Штатов.orddb.fresno. и во Фресно. а домен базы данных поставок называется us. принимают и хранят заказы. чтобы отметить факт нахождения всех этих доменов на территории Соединенных Штатов.va.vienna. предназначены для контроля за производством и поставками. поскольку оно требуется для функционирования многих полезных средств Oracle.orders. достаточно добавить к ее локальному имени имя домена.denver.orders. Чтобы составить глобальное имя базы данных. то вы также не сможете использовать глобальное именование. 2. Если вам потребуется более одной общей связи с одной и той же удаленной базой данных. штат Вирджиния. необходимо установить для параметра инициализации GLOBAL_NAMES значение TRUE. Рис. После этого Oracle будет поддерживать соответствие между именами связей баз данных и глобальными именами удаленных баз данных.5. где это возможно. Однако корпорация Oracle настоятельно рекомендует применять глобальное именование везде.shipping.60 Глава 2 этой компании. . штат Колорадо. Так. в том числе усовершенствованного тиражирования (Oracle Advanced Replication).vienna. Базы данных в Вене.ca. штат Калифорния. Имена соответствующих сетевых доменов начинаются с "us". а для базы данных из Калифорнии — us. Когда GLOBAL_NAMES имеет значение FALSE. Иерархическая схема американского отделения компании X Y Z Чтобы включить механизм глобального именования. а две базы данных в Денвере. Глобальным именем сетевого домена для базы данных из Вирджинии будет us. В Денвере нет базы данных заказов.va.co.orders. глобальные имена использовать нельзя. глобальное имя базы данных QRDDB из Вирджинии будет иметь вид us.

кто имеет доступ к базе данных. нужно выяснить.. Тем самым вы обеспечите прозрачный доступ к удаленной базе данных сразу •:•:• к йен всем пользователям. . Они позволяют получать информацию из удаленных баз данных простым и прозрачным способом. Разумеется. В принципе через связи баз данных можно получать доступ и к базам данных. вы должны иметь привилегию create session в той базе данных. какой тип связей использовать в распределенной базе данных. Определение типа создаваемой связи Чтобы определить. Чтобы создать частную связь базы данных. поскольку к удаленной базе данных могут обращаться . • Если к удаленной базе данных Oracle будет обращаться большое чис. то можно создать одну общую связь. когда вы поняли. Об этом будет подробно рассказано в главе 4. • При использовании службы имен Oracle доступ многих пользователей к нескольким базам данных удобно организовывать с помощью глобальных связей баз данных. Через общую связь информацию могут получать все. чтобы скрывать истинное местонахождение данных. на обеих машинах должно присутствовать программное обеспечение Net8. только владельцы этой связи или подпрограммы. Частная связь доступна только тем пользователям или подпрограммам PL/SQL. можно рассмотреть пример использования связи базы данных для сбора информации о заказах.. которые соединяются с базой данных через определенные учетные записи. Создание связи базы данных Перед созданием связи базы данных необходимо решить. в том числе подпрограммы PL/SQL. входящие в ту же схему. г-н.Сетевые компоненты Oracle 61 Теперь.'. отличным от Oracle. ло пользователей. с которой будет устанавливаться соединение. Помимо этого. какие требования предъявляются приложениями. Глобальная связь позволяет обращаться к удаленной базе данных всем пользователям и подпрограммам PL/SQL любой другой базы данных. С помощью этих связей пользователи могут вставлять. но для этого требуется установка службы неоднородности (Heterogeneous Services) Oracle. как создаются и используются глобальные имена. Такой централизованный подход упрощает управление связями.. чем общая или глобальная. Каждый тип связей имеет свои достоинства: • Частная связь обеспечивает большую безопасность. необходимо иметь привилегию create database link. тогда как для создания общей связи необходима привилегия create public database link. Глобальные связи баз данных необходимо определять через службу Oracle Names. будет ли она общей. обновлять и удалять информацию одновременно в локальных и удаленных базах данных. Связи баз данных отлично подходят для того. частной или глобальной.

ORDERS connect to ORD identified by HAPPY_2B using '@ORDDB'. Чтобы соединить базу данных в Вене. и даны их объяснения. штат Вирджиния. которые можно использовать в команде create database link. Теперь создадим частную связь базы данных. . взгляните на синтаксис оператора создания связи базы данных. имя NELSON. вы должны использовать следующий синтаксис: Q create database link MYLINK connect to NELSON identified by OSOSILLY1 using '@MYDB2'. таков: Q create public database link <имя_связи> connect to <пользователь> identified by <пароль> using '<строка соединениях.FRESNO.QRDDB будет воспринято Oracle как полное имя связи. При создании связей баз нужно учитывать ряд ограничений: • Нельзя создавать связь базы данных в схеме другого пользователя. Войдя под именем NELSON. В этой таблице перечислены все параметры. • Поскольку в именах связей баз данных допустимы точки. Чуть ниже рассмотрим параметр current_user более подробно. а не имя ORDDB в схеме NELSON. со схемой ORD в калифорнийской базе данных.7. Перед тем как просматривать таблицу 2. приведенный в документации Oracle: CJ create [public | shared] database link <связь_базы_данных> [connect to [сиггеп^изег|<пользователь> identified by <пароль>]] [authenticated by <схема> identified by <пароль>] using '<строка_соединения>'. описанный в таблице 2. В качестве примера создадим общую связь базы данных с использованием глобальных имен. принадлежащей CATHY. связь нельзя к в а л и ф и ц и р о в а т ь и м е н е м схемы. не используя глобальные соглашения об именах. что вам нужно соединить схему NELSON в базе данных MYDB1 с одноименной схемой в базе данных MYDB2. Поскольку в этом случае пользователи обеих баз данных совпадают. которые могут появляться в одном операторе. Н а п р и м е р .Глава 2 62 Синтаксис команды создания связи базы данных Синтаксис. • Параметр инициализации OPEN_LINKS определяет и ограничивает количество разных связей баз данных. применяемый для создания общей связи базы данных. Например.CA. можно также указать параметр current_user. о которых говорилось выше. можно использовать следующую команду: Q create public database link US.7. SUE не может создать связь базы данных в схеме. Допустим.

7. используемые для соединения с удаленной базой данных (связь базы данных для фиксированного пользователя). то будут указываться имя и пароль того пользователя. Public Создает общую связь базы данных. процедуру или модуль с правами вызвавшего (invoker-rights). которому принадлежит этот объект.PROC (созданной пользователем NELSON. представления или триггера) с помощью связи базы данных currentjjser содержит имя пользователя. При выполнении хранимого объекта (например. Если связь базы данных используется непосредственно. то для соединения с удаленной базой данных применяется идентификатор авторизации вызвавшего пользователя. Если эта конструкция опущена. доступную всем пользователям. имеющим действительную учетную запись в удаленной базе данных. Параметры создания связи базы данных Параметр Описание Тип связи: Определяет степень доступности связи пользователям базы данных. не из хранимого объекта. то текущим пользователем будет ROZ и процедура будет выполняться с его привилегиями. <пользователь> identified by <пароль> Указывает имя пользователя и пароль.PROC (созданной пользователем NELSON) и эту процедуру вызывает пользователь ROZ. которая может разделяться между многими пользователями при помощи единственного соединения. то текущий пользователь совпадает с соединившимся пользователем. Однако если хранимый объект представляет собой функцию. то текущим пользователем будет NELSON. но с правами вызвавшего) и эту процедуру вызывает пользователь ROZ. . Если опустить эту конструкцию. иначе говоря. current user Создает связь базы данных для текущего пользователя. Shared Создает общую связь базы данных. связь будет частной и доступной только вам. <связь_базы_данных> Полное или частичное имя связи базы данных. а не пользователя. Конструкция соединения (connect to): Устанавливает соединение с удаленной базой данных. Эта конструкция доступна только в конфигурации многопоточного сервера. если связь базы данных встречается внутри процедуры NELSON. Например. Например. который соединился с базой данных (связь базы данных для соединенного пользователя).63 Сетевые компоненты Oracle Таблица 2. его вызвавшего. если привилегированная связь базы данных встречается внутри процедуры NELSON. процедуры. Текущий пользователь должен быть глобальным пользователем.

локальный сервер устанавливает соединение с заданной удаленной схемой. Вспомним. что центр во Фресно принимает заказы из центральных и западных штатов.ORDERSb where a. никакие другие операции от имени этого пользователя не выполняются. Указанные имя пользователя и пароль должны существовать в удаленном экземпляре. Когда приложение обращается к удаленной базе данных с помощью этой связи. Но как ее использовать на практике? Предположим» что вы хотите определить общее число заказов на оборудование. связь базы данных создана.7 (продолжение) Параметры создания связи базы данных Параметр Описание Конструкция аутентификации (authenticated by) Обеспечивает аутентификацию пользователя на удаленном сервере и нужна в целях безопасности.FRESNO. Oracle открывает в ней сеанс от имени приложения. при этом указываются имя пользователя и пароль. Должна ли эта информация храниться в локальной базе данных? Не обязательно.CA. Когда приложение использует связь для фиксированного пользователя. Используя общую связь. вы определяете путь доступа и обеспечиваете возможность установления соединения между локальной и удаленной базами данных. создавали именно такие связи. Они применяются только для аутентификации. определяющих? нужно ли указывать и хранить пароль.ORDER_TAB a.ORDER_DATE between '01-FEB-2000' and '29-FEB-2000' / Соединения на основе связей баз данных Что же происходит при использовании связи базы данных? Создавая связь. В случае связи базы данных для фиксированного пользователя (fixed user database link) 'для установления соединения необходимо указать имя пользователя и пароль. Все операторы create database link. Другой возможной формой связи является связь для соединенного пользователя (connected user database link). собранных компанией XYZ по всей стране в течение февраля.64 Глава 2 Таблица 2. Существует несколько разных способов создания связи базы данных и несколько параметров. using '<строка_соединения>' Указывает имя службы удаленной базы данных. созданную в предыдущем разделе. продемонстрированные выше. ORDER_TAB@US. Для создания такой связи достаточно опустить конструкцию connect to в операторе create database link: . Эта конструкция обязательна при использовании ключевого слова shared. > :• Пример использования связи базы данных Итак. тогда как центр в Вене обслуживает всю остальную территорию до Восточного побережья. можно составить примерно такой запрос: Q select sum(TOTAL_ORDERS) from ORD. посылая по сети имя и пароль этого пользователя.

' ! Следующее представление. текущий пользователь должен быть глобальным пользователем. показанную в таблице 2.0. хранящиеся в словаре данных Oracle.1. действительно дает повод для беспокойства.Production on Sun May 14 22:50:53 2000 (c) Copyright 1999 Oracle Corporation.0 .0 . Представление DBA_DB_LINKS ' . Столбец Описание OWNER Владелец связи базы данных DBJJNK Имя связи базы данных USERNAME Имя пользователя для входа HOST Строка соединения CREATED Время создания связи базы данных ':• . USER_DB_LINKS. Еще одна форма связи называется связью для текущего пользователя (current user database link). В чем состоит проблема? Команда describe в Oracle 8.6 описывает USER_DB_LINK следующим образом: Q SOL*Plus: Release 8.6.' .FRESNO.ORDERS connnect to current_user Чтобы воспользоваться этой связью. Просмотреть параметры связи базы данных. Проблемы безопасности при использовании связей баз данных Подумаем. V$DBLINK или LINK$.CA.CA. к каким проблемам может приводить хранение пароля учетной записи в словаре данных.8. Внимание Во время написания этой книги утилита для управления глобальными пользователями переписывалась. Представления DBA_DB_LINKS и ALL_DB_LINKS дают информацию. Как видите. Таблица 2. Connected to: Oracle8i Enterprise Edition Release 8.Сетевые компоненты Oracle 65 Q create database link US. прошедшим аутентификацию на сервере безопасности Oracle. All rights reserved. USER_DB_LINKS.1.1. можно пятью способами — с помощью представлений DBA_DB_LINKS. поэтому она может быть недоступна.ORDERS using 'ORDERS'. ALL_DB_LINKS. Ее синтаксис: Q create database link US. столбец с паролем здесь отсутствует.8.Production .6.0.FRESNO.

-' ^'^^^^'/г^'-Г^ !.-. г. JServer Release 8. • (>'i F J g J)B_LINK .' *. . ..UO4f'.With the Partitioning and Java options.'. нти представляет потенциальную угрозу безопасности'. • Значение.ныэ^р'удет выведено следующее: • •• • ••'•'':''.9. Но давайте посмотрим^ так ли это.мкх . выдающим запрос (в данном случае — вашим сеансом)^ то есть о связях с 1К[_ТЙАК8АСтШк = YES.Q.'. которые открыты сеансом. чтр_.i»/'/ f» . используется ли в данный момент связь базы данных • 'Показывает. ORACLE. Представление V$DBLINK Столбец DB_UNK OWNERJD LOGGED_ON Описание Имя связи базы данных* Идентификатор владельца связи базы данных ' HETEROGENEOUS PROTOCOL Показывает.>!' нгшаыдт лт . Для частной связи базы дан. !<u!li ''•г>Г/.. присваиваемое С|язи базы данных в ходе распределенной транзакции с целью контроля за последовательностью • •:' "&-' ":Ui'JHWK'i'yr 'K>JvKJi>i OIJiJUil'Kf. и«ц.:'. US.й этя .' Ш". Его столбцы перечислены в таблице 2.MYUNK . .fi ..PrQductioa describe USER_DB_LINKS Name DB_LINK USERNAME PASSWORD HOST CREATED Null? Type NOT" N'(JLL И ТОН L1I/H ?Ш VARCHAR2(128) VARCHAR2(30) VARCHAR2(30) VARCHAR2(2000) DATE NOT NULL Как видите. это представление содержит столбец PASSWORD Естественно предположить.1 .j : к.9. Показывает. Таблица 2.".кмсртмдэоЛ . 1-^erjgVr'. это представление очень полёзнрГ"Сж6 позволяет ' получить^инфррма^ию 'о всех связях баз данных. сущедтвш ли для связи базы данных открытые ' COMMIT_POINT_STRENGTH .>1. Кстати.' является ли связь-базы данных неоднородной Коммуникационный протокол для связи базы данных OPEN_CURSp^S .пароль хранится там в зашифрованной виде. 6.':-'" Здесь проблеЦ нет — пароль не показан.Глава 2 . !•• Пароль. Теперь обратимся к представлению V$DBLINK.'П0казан открыт*!^ текстом.ЕОГ»'ЩЗ-"> O'i<"v'il'U'".

Это так.— скажете вы. Если ваша распределенная база данных находится в незащищенной сети и вы применяете связи баз данных фиксированного пользователя. в которых передаются регистрационные данные. Разделяемые связи баз данных Ранее в этой главе вы узнали о выделенных соединениях и соединениях многопоточного сервера. Следовательно. OWNER» HOST 0 case 49 orcl. Q column NAME format a15 column HOST format a10 column USERID format a10 column PASSWORD format a18 column OWNER» format 9999999 select OWNER». Вот эти столбцы: Q Column Name OWNER» NAME CTIME HOST USERID PASSWORD FLAG AUTHUSR AUTHPWD . но все же мы имеем дело с брешью в системе безопасности. .' Null? Type NOT NULL NOT NULL NOT NULL NUMBER VARCHAR2(128) DATE VARCHAR2(2000) VARCHAR2 (30) VARCHAR2(30) NUMBER VARCHAR2(30) VARCHAR2(30) Кроме обычного пароля здесь присутствуют имя и пароль авторизованного пользователя. Посмотрим. USERID. то с базой данных может устанавливаться огромное число параллельных соединений.|i. PASSWORD from LINK$. Единственный способ увидеть его столбцы — это соединиться с базой данных под именем SYS или INTERNAL. "Но. По умолчанию каждое устанавливаемое через связь базы данных соединение будет выделенным.Сетевые компоненты Oracle 67 Осталось представление LINK$. следует подумать о шифровании пакетов. HOST. нужно быть привилегированным пользователем".— чтобы получить доступ к этому представлению и увидеть пароли. если с приложением одновременно работает ряд пользователей.world USERID PASSWORD SYS HR ONLY_FOR_A_MINUTE PUFFINSTUFF He такая уж маленькая брешь! Еще одна угроза безопасности возникает вследствие пересылки имени пользователя и пароля по сети. чтобы принимать соответствующие меры по защите базы данных. о которой нужно знать. . какая информация содержится в этой таблице. .

необходимо использовать ключевое слово shared: create shared database link <имя_евязи> authenticated by <имя_схемы> identified by <пароль>. В удаленной базе данных обязательно должна существовать учетная запись с указанными именем пользователя и паролем. посмотрите на общее число параллельных соединений. то разделяемая связь не нужна. то будет создано 50 прямых сетевых соединений. Однако это не является панацеей. поэтому может быть пустой. то при наличии 10 локальных разделяемых серверов этим 50 пользователям потребуется не более 10 сетевых соединений (а возможно. Когда использовать разделяемые связи баз данных Чтобы определить. Иными словами. нужны ли разделяемые связи баз данных. Для использования разделяемых связей баз данных локальный сервер должен работать в режиме MTS.— это create session. . Удаленный сервер может работать как в режиме MTS. с которой устанавливается соединение. требуемая для учетной записи. но соответствующая схема применяется только для обеспечения безопасности. так и в режиме выделенного сервера. Чтобы ее создать. Обратите внимание на необходимость использования конструкции authenticated by. 1 Показанные здесь ключевые слова обязательны. Если их мало. и меньше). connect to current_user и using. Если же использовать разделяемые связи. как соединения многопоточного сервера позволяют обеспечивать работу многих пользователей по ограниченному числу сетевых соединений.Глава 2 Аналогично тому. что каждому локальному разделяемому серверу может хватить одного соединения с удаленным сервером для обслуживания нескольких запросов из локальной базы данных. а к ней одновременно обратились 50 пользователей. разделяемые связи баз данных дают возможность ограничить число сетевых соединений между серверами при сохранении многопользовательской поддержки. что без разделяемой связи базы данных не обойтись. С увеличением числа параллельных пользователей потребность в разделяемых связях будет возрастать. При желании к ним можно добавить ключевые слова connect to. Создание разделяемой связи базы данных Итак. а снижение производительности. установленных через каждую из связей баз данных вашей системы. Единственная привилегия. Дело в том. identified by. если вы применили в приложении стандартную общую связь базы данных. поэтому пользуйтесь ими с осторожностью. и в случае неправильного использования разделяемых связей можно получить не прирост. вы определили.

: - . ' . i iq'i •• : . ' .nv м i . . • > п •>:•• . ва СУП • • .* S::t":r • •• i '> ' •. : . . " : • .ш a i .' . • . ' .. ' . • • : .'"ИНН Компоненты Net8 '.-: : •оО . .

сервера 'относится к физической машине^ на которой <ыах©дится<«^цнапияиьиесколькр!'баэсданных Oracle. так и по сетевому адресу. и называете телефонный номер.с^ .со.ходите связаться.•!•< м . 'вы снимаете трубку.ora для идентификации службы. 'этот пЬоЦесс будё^ выполняться. следует убедиться. i . Ссылаться на сервер можно как по имени. Эти значения вводятся . Сразу _после запуска он переходит в режим ожидания входящих запросов.!*Имя. ййдёть за'коммутационной шаиелью. других производителей. шлюзами и 'внешними' процедурами ^примером котор!ык являются функции. Передавая ему имена своих служб и экземпляров. поскольку такие соединения ис•'* -' пользуются наиболее широко1. '-'с кем .л'ак же.оц Прослушивающий процесс Net8 работает.70 Глава 3 [тобы позвонить через коммутатор. содержащей имя базы данных и имя домена. •( service name) иь«штеж^^е(&й/(8еИйеЙ4иаЙ1е).1' Компоненты и параметры ('-• ! Мы начнем изучение компонентов Net8 с рассмотрения соединений.нр.1гру.: ожидая . действуя о? вашего. В этой главе вы узнаете о просЛущиваюЩем процессе и файлах его поддержки.повесили. 'г /•!>• . пока его кто-нибудь не остановит. . Независим® * от того. в него может . номер и отключается от . ')']"( '>.ora и init. остаётся доступным для других клиентов. чтобы принимать запросы на соединения и пытаться их выполнить. Работа оператора состоит в том.и^од^базы данных.-Имя .вы.пдаже если оператор уйдет на обед. Имя службы — это логическое представление.соединенвым.» Оператор. где бил интерактивно запущен прослушивающий процесс. обрабатывает их и даже после того. набираете ноль и соединяетесь с оператором. что вам ясна разница между именем яяужбы. как 'вы отсоединились..! Имейте в вид^. вызыва•1 Передаем лак говоритюо. службы 1хранит..своим -собеседником.:! i. имени. Это так' называемый фоновый 'гфоцёсс (detached process).. другую линию вы останетесь . . оператор продолжает.. вход^ит^. а 'также Oracle Enterprise jdfanager. точ. Каждый'сервер^им^еФ^икаяыллюсётевойга^рес^^о-котором^товорилось в главе 1. которьга^б^чи^шгу^^ получит команду останова "или его машина' не будет.вашей линии.бку или нет. Досле/дереключения на. устанавливаемых с базами данных Oracle. поставляемых^ корпорацией Oracle. чтобы пр^ изучении последующих глав вы были готовы к раббтё с Этими инструментами. ^одного или нескольких экземпляров. . Вы сообщаетёгёму. feasa даннйх Oracle при запуске пытается зарегистрироваться в прослушИвйющём процессе. Выключена (или не выйдет из строя). что Net8 также поддерлсиi ' нвает соединился' с 'базами данных. п^жэсяушиватащем ?^ж»цессв]и/соединениях.г. '. Будет дан обзор утилит1 JifetS. набирает .других : вызовов (конечно^если'Он еще не:обедает)(. Даже если никто не входит ни сервер. Далее в этой главе будет uoKa^^^^KHmoiibaQ^ZTb^^^bi^nsnz^s. который ждал вашегЪ вызова.. в строковой переменной.

Когда клиент инициирует запрос по определенному протоколу. Что все это означает? Клиентская часть Net8 обращается к системным сетевым компонентам за фактическим сетевым адресом машины. чтобы запросить соединение с базой данных. с которой вы пытаетесь соединиться. который будет обеспечивать взаимодействие клиента с базой данных. возможно ли обслуживание клиентского запроса.1. то кроме файла sqlnet. При положительном результате проверки прослушивающий процесс порождает новый процесс. а о глобальных именах баз данных — в главе 2.ora на сервере должен присутствовать файл tnsnames. Эта строка сообщает Net8. содержащую имя пользователя. чтобы определить. Теперь перейдем непосредственно к соединениям. чтобы к ним можно было обращаться в ходе операций по начальному конфигурированию сети. Передав клиентский запрос этому процессу.ora. исходя из адреса протокола и глобального имени базы данных. или использует один из предварительно порожденных процессов. Одновременно глобальное имя базы данных разбивается на составные части. которое обычно состоит из имени самой базы данных и имени ее домена. вы используете строку соединения.Компоненты Net8 71 во время установки системы или создания базы данных и сохраняются в памяти. клиентская программа обращается к прослушивающему процессу на этой машине. Они перечислены в таблице 3. прослушивающий процесс освобождается для приема новых запросов. Установление соединения Когда вам нужно обратиться со своей клиентской машины к базе данных на сервере. Например. пароль и определенную информацию о сетевой службе. клиентская часть Net8 должна разрешить строку соединения в фактический сетевой маршрут к службе и определить местонахождение прослушивающего процесса. прослушивающий процесс проверяет переданную идентификационную информацию и сравнивает ее с той. используются несколько различных файлов конфигурации. О сетевых адресах говорилось в главе 1. с кем и каким образом устанавливать соединение. при соединении с сетевой службой MYDB под именем NELSON с паролем HOP_SCOTCH2 строка соединения будет выглядеть так: Q connect NELSON/HOP_SCOTCH2®MYDB Чтобы осуществить соединение. с какой базой данных предстоит соединиться. устанавливаемых через прослушивающий процесс. Внимание Если соединения Net8 устанавливаются между серверами. что хранится в базе данных и в его собственном файле listener. .ora. Когда адрес машины и имя базы данных определены. Для поддержки соединений с базой данных Oracle. определяя.

ora и sqlnet.5 для Windows NT. . описания этих служб и адреса их прослушивающих процессов.ora.ora Откровенно говоря. не совпадают с разделами. Признаком комментария служит знак # в начале строки. раздел со списком системных идентификаторов (SID. Он разбит на четыре части: раздел заголовка. • • • .ora Располагается на сервере.ora. Этот файл содержит параметры. Далее по очереди представлены группы строк и их описания. В таблице 3..LIST^lsno) и раздел управляющих параметров. . какую структуру имеют эти файлы и как используются их элементы. без которого запуск прослушивающего процесса на этом сервере невозможен. Файлы конфигурации Net8 Имя файла Описание . Фрагменты. имея многолетний опыт. конфигурирование прослушивающего процесса — не такое простое дело. Но не унывайте! Чем лучше вы будете знать структуру и содержимое файла listener. содержит адреса и управляющие параметры всех прослушивающих процессов сервера. Lisfener. определяет метод(ы) разрешения имен. поэтому по ходу дела постараюсь отмечать.2 перечислено. Даже я. names.1.ora Располагается на серверах имен Oracle (если они используются).-' Файлы конфигурации listener.ora Располагается на машинах клиентов. тем проще для вас будет эта задача. используемые для конфигурирования прослушивающего процесса. на которые разбит файл. раздел адресных параметров.1.72 Глава 3 Таблица 3. содержит список имен сетевых служб.admin] (система Compaq OpenVMS) Посмотрим. sqlnetora Располагается на машинах клиентов.ora находятся в следующих каталогах: Q $ORACLE_HOME/network/admin (система UNIX) ORACLE_HOME\network\admin (система Windows NT) $<имя_диска>:[<каталог_огас!е>. что к какому разделу относится.network. информацию о домене. что входит в каждый из этих разделов. tnsnames. listener. Каждый сервер с базой данных Oracle должен иметь файл listener.. перечисленными выше. tnsnames. а также 5 дополнительные параметры конфигурации. который входил в мой дистрибутив OracleSi версии 8. Изначально все строки этого файла были закомментированы. правильно с первого раза. В качестве примера рассмотрим файл listener. не всегда делаю это . содержит прослушиваемые адреса.ora.ora.

nil • . Определяет адрес протокола прослушивающего процесса. Определяет системный идентификатор (SID) базы данных. обслуживаемой прослушивающим процессом. которые надлежит использовать для соединений через этот прослушивающий процесс. Проблемы часто возникают из-за того.ora. Разделы файла listener. что: • Вы можете использовать этот файл. Расположенные ниже примечания сообщают о том.• С помощью этого файла можно конфигурировать более одного прослушивающего процесса. •• • Раздел заголовка Q # copyright © 1997 by the Oracle Corporation ft. » NAME # listener.ora parameters take the form # of SID_LIST_<lsnr>. После уведомления об авторских правах указаны имя файла и его назначение. All parameters and values are # case-insensitive. без указаний на авторские . который должен быть установлен для нового прослушивающего процесса. # and could be used to configure the listener by uncommenting # and changing values.< .Компоненты Net8 73 Таблица 3. ' •'••'• Для идентификации прослушивающих процессов нужно заменить все обозначения <lsnr> на фактические имена. so listener. where <lsnr> is the name of the listener # this parameter refers to. В этом небольшом разделе содержится довольно много информации. управляющие работой прослушивающего процесса.. . поэтому в файле можно использовать как прописные. Список SID Управляющие параметры Содержит параметры. что для идентификации прослушивающего процесса нужно всюду заменять <lsnr> на фактическое имя. удалив комментарии (знаки #) и вставив свою собственную информацию о конфигурации.2. а также уровень представления данных и сеансовый уровень.ora (показанном ниже) заголовок состоит всего из двух закомментированных строк. •••"•:. Очень легко не заметить очередное вхождение 'имени и пропустить параметр. .ora # FUNCTION # Network Listener startup parameter file example # NOTES « This file contains all the parameters for listener. • Регистр символов не учитывается.ora и их назначение Раздел Заголовок Адресные параметры Назначение • •• Содержит информацию о версии и дату создания. В моем рабочем файле listener.. Multiple listeners can be configured # in one listener. так и строчные буквы или их комбинации..ora.

LIST = (ADDRESS» (PROTOCOL= IPC) (KEY* oracle. Из-за длинного имени файла первая строка разбита на две. где нужно подставить MYLIST1. хотя на самом деле это одна очень длинная строка. Net8 Assistant — замечательный инструмент. Ваша задача состоит в том. но если вы попытаетесь сконфигурировать еще один прослушивающий процесс. то по умолчанию ему присваивается имя LISTENER. ora tt Generated by Oracle Net8 Assistant Адресные параметры прослушивающего процесса Если в системе присутствует всего один прослушивающий процесс. иначе есть шанс.74 Глава 3 права и каких-либо примечаний. требующих изменения. Это кажется очевидным. Однако они не могут сделать за вас всю работу. Ниже приведен пример конфигурационного кода прослушивающего процесса. Файл listener. Попробуйте самостоятельно найти все места. что LISTENER — это имя стандартного прослушивающего процесса. Однако для поиска ошибок в любом из этих файлов необходимо знать их структуру.OESC = (GLOBAL. позволяющий настраивать прослушивающий процесс и конфигурировать сопутствующие файлы. что проблему решить не удастся. сохранив существующую версию LISTENER и добавив новый прослушивающий процесс с именем MYLIST1.DBNAME = marlenes-pc) . а во второй строке указан "создатель".ora автоматически генерируется инструментом Net8 Assistant при установке Net8. и на протяжении этой книги они будут упоминаться достаточно часто. что для стандартного прослушивающего процесса в предыдущих версиях SQL*Net и Net8 по умолчанию устанавливался пароль ORACLE. Инструменты очень полезны. не понимая. то можете пропустить часть параметров. ORA Configuration File : D : \о ra8i\netwo rk\adrain\listene r . В ней указано полное имя файла. wo rid) ) (ADDRESS= (PROTOCOL= TCP) (Host* marlenes-pc) (Port* 1526) STARTUP_WAIT_TIME_LISTENER = 0 CONNECT_TIMEOUT_LISTENER = 10 TRACE_LEVEl_LISTENER = 0 SID_LIST_LISTENER = (SID_LIST = (SID. Замечу. чтобы скопировать и изменить этот код. Q П D : \ORA8I\NETWORK\ADMIN\LISTENER . Q LISTENER = (ADDRESS.

. # процесса MYLIST1 MYLIST1 = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= IPC) (KEY= oracle.?т i. Of -.ок..AW.отйея!: *.FidH^TSi. л" (SID_OESC'= (GLOBAL_DBNAME = marlenes-pc) '(SlD_NAME='trRbL):'' ?^Ж«1*2 . ='" .p (ADDRESS= (PROTOCOL=TCP) (Host= marlenes-pc) 'iiCIf Ol-'Г/ГЭ' (SiD_L.Воэ...' # ..sT.:. необходимо изменить самую первую стршс^оа'тгаюке'пяагьдругк^сстр. ffi?pS:>u^ysS.: '„ а.„..LlSTENER'i Arable)'. и Q ' LISTENER " = " ! УН НПО (KEY= oracle.'. PASSWORDS_LI$TENER = Если вы.. world) ) fel^V.l TU05HIT ) STARTUP_WAIT_TIME_MYLIST1 = 0 CONNECT_TIMEOUT_MYLIST1 =10 TRACE_LEVEL_MYLIST1 = 0 SID LIST MYLIST1 = .i.-.. .Компоненты Nets 15 .иЧ1.:-I : он» и >: tt Эта часть была добавлена для определения второго прослушивающего. wo rid) (ADDRESS= (PROTOCOL= TCP) (Host= marlenes-pc) ( (Port= 1521) с а д-.M. IMIT^TJ. !уже заглянули вперед. . .. It .-. . то 'знаете. что.HSE-«.Y«v^ PASSWORDS..i м" г . .

параметрами которого являются хост и порт. • •. то именно это значение нужно присвоить параметру host. что было сказано выше об именах прослушивающих процессов. не присвоенный другому процессу. но порты с номерами меньше 1024 в некоторых системах обычно резервируются для привилегированного доступа. потребовавшихся для конфигурирования нового прослушивающего процесса.' ' . Если машина имеет сетевое имя MARLENES-PC. # П П # it # • \ • - • ' This parameter specifies both the name of the listener. When not specified. with the default address value as shown below. и дают образец кода для раздела address_list. . перед нами следующая часть файла listener. В данном случае используется протокол TCP.> i п <isnr> . . ' • • ' 5Т6!" Раздел адресных параметров прослушивающего процесса (продолжение) Итак. Теперь рассмотрим параметры этого раздела подробнее.3 перечислены некоторые из стандартных портов Oracle.ora. Удалось ли вам найти все сделанные изменения? Отлично. самым трудноуловимым представляется определение нового имени SID_NAME в SID_LIST_MYLIST1. # (ADDRESS_LIST= » ( ADDRESS=( PROTOCOL=tcp ) ( HOST=localhost ) ( PORT=1 521 )) # (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))) Эти комментарии повторяют то. and its listening address(es). Other parameters for this listener use this name in place of <lsnr>. . 1 . который мы видели в предыдущем примере. the name for <lsnr> defaults to "LISTENER".76 Глава 3 (SID_LIST = (SIDJJESC = (GLOBAL_DBNAME = marlenes-pc) (SID_NAME = MYOB) PASSWORDS_MYLIST1 = (mypassword) Среди многих изменений. В таблице 3. Oracle работает с любыми портами от 1 до 65535. Значение host — это сетевое имя сервера. на котором вы предполагаете запускать свой прослушивающий процесс. По умолчанию Oracle использует для прослушивающего процесса порты 1521 и 1526.. # LISTENER = . Однако при назначении порта вы можете выбрать любой номер.

Компоненты Net8 77 Таблица 3. Официально зарегистрированный стандартный порт для соединений с административным процессом CMADMIN менеджера соединений Oracle протоколу TCP/IP. _ _____ _ При использовании Two-Task Common или TNS определять description_list не нужно.u . I (PORT=2481) m:>> . Зарегистрированные номера портов Oracle и их назначение Номер 1521 2481 2482 1575 1630 1830 _ по порта Описание _ _ Стандартный порт для клиентских соединений со службой базы данных. В будущих версиях Oracle может быть заменен на официально зарегистрированный порт 2483 (для TCP/IP) и 2484 (для TCP/IP с SSL).>. presentation и session. как показано ниже: Q LISTENERJIAME = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCO) (DESCRIPTION = (PROTOCOL_STACK = (PRESENTATION=GIOP) (SESSION=RAW) (ADDRESS_LIST (ADDRESS = (PROTOCOL-TCP) • ' • • [i«tq (HOST=MARLENES~PC). Однако для соединения с Java-службой базы данных вам потребуются параметры protocol_stack. Официально зарегистрированный стандартный порт для соединений со шлюзовым процессом CMGW менеджера соединений Oracle по протоколу TCP/IP. ' Рекомендуемый и официально зарегистрированный порт для клиентских соединений с Java-службой по протоколу TCP/IP с SSL Официально зарегистрированный стандартный порт для соединений с сервером имен Oracle по протоколу TCP/IP или TCP/IP с SSL. Рекомендуемый и официально зарегистрированный порт для клиентских соединений с Java-службой пи протоколу TCP/IP.3.

Вам встретятся примеры и документация. появившиеся в версии 81. чтобы уровень представления данных был реализован с помощью GIOP. Последний параметр.stack задаются уровень представления данных (presentation) и сеансовый уровень (session).ога. где и как искать определенный экземпляр. Этот параметр не обязательно указывать. Если вы будете использовать параметр addressjist. и описание стека протоколов (protocol_stack). то он должен располагаться внутри description или descriptionJist.ora содержит список служб. обязательным является только параметр address. В области protocol. Чтобы избежать проблемы отсутствующих скобок. данных. Корпорация Oracle рекомендует указывать имя службы. по умолчанию — NS (Network Substrate). поэтому для них используется значение RAW.78 Глава 3 Строки листинга Q (PROTOCOL STACK = (PRESENTATION=GIOP) (SESSION=RAW) содержат параметры. где все скобки стоят подряд. В этой части файла вы сообщаете прослушивающему процессу. IIQP-клиенты требуют. что я напрасно трачу место. экземпляров и/или баз. Список описаний содержит список адресов (addressjist). key. используется только с протоколом межпроцессных связей (Inter-Process Communication. После этого предупреждения обратимся к области description Jist (список описаний) раздела адресных параметров. можно вставлять однострочный комментарий после каждой закрывающей скобки. причем по умолчанию используется ТТС. по которым можно обращаться к прослушивающему процессу. Параметр presentation может иметь значения ТТС или GIOP. Вам может показаться. впервые появившаяся в OracleSi. когда указывается адрес. о которых должен знать прослушивающий процесс. улучшая тем самым читаемость кода. Эта часть описания. особенно в файле listener. используется в ПОР-дескрипторах для поддержки Java-соединений с базой данных. IIOP-клиентам сеансовый уровень не нужен. то прослушивающий процесс не запустится. Однако инструменты Net8 Assistant и Net8 Configuration Assistant создают addressjist всякий раз. . Раздел списка SID Следующий раздел файла listener. Зачастую именно одна отсутствующая скобка приводит к неработоспособности прослушивающего процесса. расставляя скобки таким образом. по одному на экземпляр. В addressjist можно задать несколько адресов прослушивающего процесса. Параметр session может принимать значения NS или RAW. IPC) для идентификации сервера. Однако с годами я приучилась обращаться с ними очень аккуратно. службу или базу данных. но если случайно пропустить одну из них. и можно потратить часы на выяснение причины. В приведенном выше примере EXTPROCO представляет собой имя машины или службы.

.О .. r . (PROTOCOL = TCP) " . j!..:>'. !.:.SID_MME =' -' ' (PfiEePAWt.базу данных.*.шцп "Minaa Первый параметр — это дескриптор SID_L|ff|^:J£ju53!"j отмечающий начала.'-! V.vrc .'ЖЯ 'i.. вы должны.= о rci .: (SID_NAME ...(.„«. образом: ..-и^-шс <OTOW..Р^^чй^л^|Р{ч.ошог.. ' i l j ) Л(» Q' SID_LIST_LISTENER =•>:•„... . роо./:. '(6RACtE_HO'HE ^'DS^oraSi' л C.(SID_DESC =. CJJ ':' • ДрГ.g^ (^те^а jWindqys NT| этот раздел выглядит следующим.< <*„• ' HI N KiHHiitfSM 1ША r-io3o'j T-jHrjun'jjv.-i :>ouu it ?.•..i.-...-••..rVj^iMKfii •-•. • В моем фа... ч r ' .р|)0^ . . ..V//J-I ^.йле bst^ner.щент*^ф*«кат.рг^1егее.-.^Д)).-.ш\1^енти" базой данных.тт. спидк-д сда-гемных. рараллельного сервера вам.-t :. .Hj>.^вди^|1.'i!': T'wp' '..'?r?. „..1ЛО.j .'.Vi:)'..£. .w SMwnlaiiafton .Г«. . .i.i. ..t|r'i>i) !? . .н.. нэрердя^д19..»Н '>г..л. . ^U]!i U ШЛЫКУ! :.-> . „Срзда^ая . ..рри ^нсг^рльзрв^н^и.исрг >мкокг TJB ••">'#' '< (SID_LIST* ••'•'•' . ч-' к •-».-.IO'!.: ц 07п. There is no default.) и/Ы-Ц'.^^у^щ^Я^9^^9. See the Nets Administrator's # Guide for more information. >..f ISiiiC» Oi) .(. ^.яэдёйд*. .!'4 он/.jun тз'к .j"T.f.. г. .. rjjj ..Компоненты Nets 79 Q # SID_LIST_<lsnr> # List of services the listener knows about and can connect П clients to.= Pl (sippKC = • ! f6i0BALlliBNM. К -••'!'..MA'X-s ад) ntia. . wbrlcf fll':..... П П SID_LIST_LISTENER= •'# mn'ps.jqK ОСЮЯ*П'ХЛ осрг. . ЗДД^.

Чтобы сообщить прослушивающему процессу начальный каталог базы данных. что оно полностью совпадает со значением service_name из файла init. В приведенном выше примере программа extproc. рассмотренных ниже. если предварительно созданный выделенный сервер ни разу не был задействован. связанным с расходом памяти. . иначе прослушивающий процесс их не воспримет. в разделе sid_list может содержаться более одного SID. с которыми было установлено хотя бы одно соединение.exe. чем сумма всех значений pool_size. а затем объявлен размер пула (pool_size = 10). используется параметр oracle_home. Имя службы базы данных может быть указано в двух файлах: init.ora (параметр service_name) и listener. сколько минут предварительно созданный выделенный серверный процесс. Следующим параметром в области sid_desc нашего примера является prespawn_max со значением 99. обратимся к области prespawn_desc. Это значение зависит от операционной системы. объявленных в prespawn_list. Параметр program предназначен для указания выполняемой программы службы. Если вы намерены использовать какие-либо из параметров. и оно должно быть не меньше. После sid_list расположен параметр sid_desc. Параметр sid_name используется для указания SID базы данных. Эти параметры сообщают прослушивающему процессу. Чтобы понять его смысл. Prespawn_max — это максимальное число таких процессов. Рекомендуется устанавливать более высокое значение. что для данного протокола должны быть предварительно созданы (или порождены) десять процессов выделенных серверов.ora (параметр global_dbname). находящийся в неактивном состоянии. Внимание При использовании глобального имени базы данных необходимо убедиться. чтобы гарантировать достаточное количество процессов для новых клиентских соединений. Внимание Указание слишком большого числа предварительно создаваемых выделенных серверов может негативно сказаться на производительности по причинам.80 Глава 3 Следовательно.ora. он не уничтожается. таким образом. содержащий полный путь к этому каталогу. Параметр timeout сообщает прослушивающему процессу. Нуль соответствует бесконечному ожиданию. то они должны размещаться в области sid_desc. но каждый из них должен быть уникален. должен ожидать следующего соединения. Там указан протокол TCP (protocol = tcp). Для каждого протокола создается свой раздел prespawn_desc. Этот параметр применяется только для тех предварительно созданных процессов. поэтому для тайм-аута следует задавать небольшое положительное значение. за которым следует один или несколько фактических параметров.

log добавляется автоматически. 726 . Значение по умолчанию: ORACLE HOME/network/trace Пример: TRACE_DIRECTORY_LISTENER = /private/app/oracle/product /8. Значение по умолчанию: <lsnr> Пример: LOG_FILE_LISTENER = Isnr LOG DIRECTORY <lsnr> Указывает каталог для файла журнала прослушивающего процесса.trc добавляется автоматически.ora. Для установки и хранения зашифрованных паролей используется утилита Isnrctl.81 Компоненты Net8 Управляющие параметры Для прослушивающего процесса можно задать много управляющих параметров. Возможные значения: ON | OFF Пример: SAVE_CONFIG_ON_STOP_LISTENER = ON USE PLUG AND.4. Таблица 3. Расширение . Измененные значения параметров будут записаны в файл с сохранением форматирования и комментариев. Значение по умолчанию: OFF Возможные значения: OFF | USER | ADMIN | SUPPORT | 0-16 Пример: TRACE_LEVEL_LISTENER = SUPPORT TRACE FILE <lsnr> Указывает имя файла трассировки прослушивающего процесса. Значение по умолчанию: ORACLE HOME/network/log Пример: LOG. Управляющие параметры listener.PLAY <lsnr> Сообщает прослушивающему процессу о необходимости связаться с сервером имен Oracle для регистрации самого процесса и его служб.DIRECTORYJJSTENER = /private/app/oracle/product /8.3/network/log TRACE LEVEL <lsnr> Устанавливает уровень трассировки. а параметры сведены в таблицу 3. Значение по умолчанию: отсутствует Пример: PASSWORDSJJSTENER = 20A22647832FB454 "foobar" SAVE CONFIG_ON STOP <lsnr> Сообщает прослушивающему процессу о необходимости сохранить изменения конфигурации при останове. Чтобы их было проще рассматривать. Значение можно задавать как в зашифрованном.ora Параметр Описание/значение по умолчанию/пример PASSWORD <lsnr> Устанавливает пароль на останов прослушивающего процесса. Значение по умолчанию: OFF . Значение по умолчанию: <lsnr> Пример: TRACE_FILE_LISTENER = Isnr TRACE DIRECTORY <lsnr> Указывает каталог для файла трассировки прослушивающего процесса. Значение по умолчанию: OFF Возможные значения: ON | OFF Пример: USE_PLUG_AND_PLAY_LISTENER = ON LOG FILE <lsnr> Указывает имя файла журнала прослушивающего процесса. здесь не приводятся фрагменты файла listener. так и в открытом виде. Расширение .0.3/network/trace 4 Зак.4.0.

Нужно ли устанавливать пароль. которые неочевидны или недостаточно хорошо объяснены. Однако в предыдущих версиях Oracle файл listener. что вы могли бы и сами об этом догадаться! В таблице 3. для прослушивающего процесса OracleSi по умолчанию пароль не устанавливается. а затем ввести команду start LIST1. то будет выдан список команд. авторских правах и способе получения справки. на протяжении которого процесс будет ожидать поступления разрешенного запроса к базе данных. Например. вместе с объяснениями.ога Параметр CONNECT_TIMEOUT_ <lsnr> Описание/значение по умолчанию/пример Задает интервал (в секундах) с момента запуска прослушивающего процесса. то утилита выведет следующее: О start [<listener_name>] : start listener He сомневаюсь.5 и 3.5 приведен список команд. для запуска прослушивающего процесса LIST1 можно ввести Q Isnrctl start LIST1 Другой вариант — набрать в командной строке Isnrctl. К сожалению. позволяющая запускать прослушивающий процесс и управлять им непосредственно с уровня операционной системы или из командного файла. . по которым можно получить справку. по которым можно получить справку. то как это сделать? В поставку Oracle входит утилита с названием Listener Control (Isnrctl).ora содержал параметр passwords_<Isnr>. которому автоматически присваивалось значение ORACLE для стандартного имени LISTENER. Если ввести в командной строке help.82 Глава 3 Таблица 3. Утилита Listener Control (Isnrctl) Для активизации утилиты Listener Control нужно ввести в строке приглашения операционной системы команду Isnrctl. с ее помощью можно устанавливать или изменять пароль.4 (продолжение) Управляющие параметры listener. нажать ENTER для входа в утилиту. которые дает утилита. если ввести help start. После ввода Isnrctl появляется командная строка с заголовком. Эта команда имеет следующий синтаксис: Q Isnrctl команда [имя_прослушивающего_процесса] аргументы Например. Значение по умолчанию: 10 Пример: CONNECTjriMEOUT_LISTENER = 10 Как упоминалось выше.6. в котором сообщается об используемой версии Oracle. В частности. справочной информации по всем этим командам дается не слишком много. даны дополнительные пояснения после таблиц 3. Для тех команд. если он отсутствует? Если да.

dbsnmp_stop и dbsnmp_status. Например. но при этом могут выполняться только локально. Они позволяют получать и изменять состояние Intelligent Agent как интерактивно. Команда services дает подробную информацию о службах. то важно изучить команды dbsnmp_start. диспетчеры и предварительно созданные фоновые процессы. так и из пакетного задания. . В конце этой главы рассмотрим OEM подробнее.ога.ога. с которыми данный прослушивающий процесс устанавливает соединения. Эта команда показывает службы трех типов: выделенные серверы из файла listener. то перед вводом команды reload необходимо использовать команду set password. вы можете узнать о том. Это позволяет добавлять или изменять службы без остановки прослушивающего процесса.83 Компоненты Net8 Таблица 3. чтобы обеспечить в своей системе функционирование прослушивающего процесса Oracle Enterprise Manager (OEM). Команды утилиты IsnrctI Параметр start ' stop status services version reload save_config trace dbsnmp_start dbsnmp_stop dbsnmp_status change_password test quit/exit Описание start [<имя_прослушивающего_процесса>]: запустить прослушивающий процесс stop [<имя_прослушивающего_процесса>]: остановить прослушивающий процесс status [<имя_прослушивающего_процесса>]: получить состояние прослушивающего процесса services [<имя_прослушивающего_процесса>]: получить информацию о службах прослушивающего процесса version [<имя_прослушивающего_процесса>]: получить информацию о версии прослушивающего процесса reload [<имя_прослушивающего_процесса>]: перезагрузить файлы параметров и системные идентификаторы (SID) save_config [<имя_прослушивающего_процесса>]: сохранить изменения конфигурации в файле параметров trace OFF: USER: ADMIN [<имя_прослушивающего_процесса>]: установить указанный уровень трассировки dbsnmp_start: запустить субагент базы данных (известный также под названием Intelligent Agent) dbsnmp_stop: остановить субагент базы данных dbsnmp_status : получить состояние субагента базы данных change_password [<имя_прослушивающего_процесса>]: изменить пароль прослушивающего процесса протестировать прослушивающий процесс quit: exit: выйти из LSNRCTL Если вы сконфигурировали Intelligent Agent (иногда называемый субагентом базы данных).5. сколько соединений было установлено или отклонено. Если для него был установлен пароль. По команде reload прослушивающий процесс повторно считывает файл listener.

6. что они имеют дополнительные параметры. Как правило. что отражено в таблице 3. Например. если на узле функционирует более одного прослушивающего процесса. Теперь просмотрите таблицу 3. было ли сделано изменение. выводимого утилитой Isnrctl. можно снова ввести команду show. Это означает. даваемые утилитой Isnrctl. изменяющая это значение. где приведены объяснения параметров команд set/show. Во многих случаях команда help set [<параметр>] выводит справку как по set. Согласитесь. Параметры команд set и show утилиты Isnrctl Параметр password rawmode displaymode Описание set password : установить пароль для последующих вызовов set rawmode ON : OFF: установить режим вывода для команд services и status set displaymode RAW | COMPAT | NORMAL | VERBOSE : режим вывода на дисплей trcjile | trc_directory | set | show trc_< > [<значение>]: установить | показать параметры трассировки текущего прослушивающего процесса trcjevel logjile | log_directory set | show log_< > [<значение>]: установить | показать параметры протоколирования текущего прослушивающего процесса log_status set | show currentjistener [<имя_прослушивающего_процесса>] : currentjistener установить | показать текущий прослушивающий процесс connectjimeout startup_waittime use_plugandplay direct_handoff save_config_on_stop set | show имя_параметра [<значение>]: установить | показать значение параметра текущего прослушивающего процесса set | show имя_параметра [<значение>]: установить | показать значение параметра текущего прослушивающего процесса set | show имя_параметра [<значение>]: установить | показать значение параметра текущего прослушивающего процесса DIRECTJHANDOFF может иметь значение ON или OFF set | show имя_параметра [<значение>]: установить | показать значение параметра текущего прослушивающего процесса Две другие команды из справочного списка.84 Глава 3 Таблица 3. так и по show. что многие из описаний реально мало что объясняют. введите Q set current_listener <имя_прослушивающего_процесса> Чтобы проверить. который вам нужен.6.6. . показывающая текущее значение параметра прослушивающего процесса. какой из прослушивающих процессов считается утилитой Isnrctl текущим: Q show current_listener Ecvin показан не тот прослушивающий процесс. как же использовать некоторые команды. а затем команда set. то перед изменением параметров одного из них следует определить. поэтому давайте выясним. сначала применяется команда show.— set и show — помечены звездочками.

затем просит повторить новый пароль. соединяющегося по протоколу IPC со службой SRVR. Когда ее нужно использовать? Предположим. связанных с паролем: change_password и set password. Для LIST2 в файле listener. вы должны сначала установить для него пароль. Вы изменили какие-то из его параметров и теперь хотите выполнить те же изменения в другом прослушивающем процессе. Если для прослушивающего процесса установлен пароль. что команда set password тоже позволяет модифицировать пароль прослушивающего процесса. Если же пароль отсутствует. то они останутся прежними. пока в качестве текущего не будет .ora) присутствовали незашифрованные пароли. Команда change_password приглашает ввести старый и новый пароли. Для этого из утилиты Isnrctl нужно ввести команду Q set password <пароль> Использование команды set password не ограничивается только этим случаем. Q lsnrctl> change_password LISTENER Old password: New password: Reenter new password: Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=srvr)) Password changed for LISTENER The command completed successfully Команда change_password позволяет создавать и менять только зашифрованные пароли. что в данный момент вы работаете с прослушивающим процессом LIST1. Проверка старого и установка нового пароля выполняются с применением шифрования. то любая команда утилиты Isnrctl действует на стандартный прослушивающий процесс. LIST2. и лишь после этого меняет пароль прослушивающего процесса. Если в файле конфигурации прослушивающего процесса (listener. Ниже приведен пример использования команды change_password для прослушивающего процесса с именем LISTENER. то команда set password не нужна. Однако на самом деле она предназначена лишь для активизации уже существующего пароля. Ниже приведен список остальных команд set с краткими описаниями каждой из них.ora установлен следующий пароль: Q password_list2 = MYPWD2 Чтобы переключиться на LIST2. Current listener Если на узле функционирует более одного прослушивающего процесса.Компоненты Net8 85 Подробнее о некоторых командах Начнем изучение неочевидных команд утилиты Listener Control с команд. Connect timeout Эта команда задает интервал времени (в секундах) с момента установления соединения. то команду set password необходимо использовать перед каждой командой set. Может сложиться впечатление. в течение которого прослушивающий процесс будет ожидать поступления разрешенного запроса.

что в версии 8. как это работает.ora сразу после ввода команды exit или quit. будут применяться ко второму прослушивающему процессу. какой из них утилита Isnrctl считает текущим. которая может оказаться полезной при устранении проблем. с которым вам нужно взаимодействовать. Чтобы узнать. rawmode Эта команда изменяет режим вывода для команд services и status. что на вашей машине запущены три прослушивающих процесса: LIST1. а в одном из примечаний сказано. выполненные командами Isnrctl set.6. save COnfig ОП Stop Эта команда может иметь аргументы ON или OFF. в котором он создается.1. compat (устанавливает режим совместимости с предыдущими версиями). будут сохранены в файле listener. после выхода из утилиты эта установка будет потеряна. что raw следует использовать только по рекомендации службы глобальной поддержки Oracle (Oracle World Wide Support). нужно ввести Q lsnrctl> show current_listener Если показан не тот процесс. Допустим. вы получите дополнительную информацию о состоянии прослушивающего процесса. Это примечание отсутствует в документации на версию 8. Аргументы могут быть следующими: raw (действует аналогично команде set rawmode). Если установить значение ON.1. Примечание В документации на Oracle 8.5 режимы normal и verbose задействованы не полностью. Установив rawmode в ON.6 значением по умолчанию является compat. достаточно ввести Q lsnrctl> set current_listener <имя_прослушивающего_процесса> Подчеркну еще раз. что вы должны вводить команду set current_listener в командной строке утилиты. Третья команда показывает. В нормальной ситуации этот режим обычно не включают.Глава 3 установлен другой процесс. Возможные аргументы — ON или OFF. Все последующие команды. log_file.1. Посмотрим.5 отмечалось. normal и verbose (обеспечивает выдачу дополнительной информации для службы поддержки при диагностике ошибок). пока вы снова не измените установку currentjistener. log_directory И log_StatUS Первые две команды позволяют изменять имя файла журнала прослушивающего процесса и каталог. выдаваемые в рамках того же сеанса Isnrctl. В версии 8.1. displaymode Эта команда изменяет режим вывода для команд services и status в зависимости от указанных аргументов. При этом принимаются все возможные меры по . то все изменения. LIST2 и LISTS. Сохранение модифицированных параметров происходит непосредственно перед завершением работы прослушивающего процесса. включено ли протоколирование (ON или OFF).

ADMIN. выполненные в файле listener. Изменение этого параметра возможно только с уровня операционной системы и выполняется следующим образом: Q Isnrctl set startup_waittime 10 tfC file. log_directory. ADMIN или 10 выводят информацию уровня администратора. Как видите.Компоненты Net8 87 сохранению форматирования. Доступные уровни . Чем выше уровень. комментариев и регистра символов. 0.ora. OFF или 0 отключают трассировку. они повторяют параметры команды set. в течение которого прослушивающий процесс будет неактивен перед выполнением команды start. use_plugandpiay Эта команда сообщает прослушивающему процессу о необходимости зарегистрировать свою информацию на сервере имен Oracle.ora. log_status • password • raw_mode • save_config_on_stop • startup_waittime • trc_file. Для немедленного сохранения всех модифицированных параметров используется команда save_config. представьте себе следующие имена: Билл. • connect_timeout • current_listener • displaymode • log_file. 10 и 16. trc directory И trc level Подобно ранее описанным командам log_ команды trc_ позволяют задать или просмотреть имя файла трассировки. SUPPORT. Что у них общего? Да. Пег и Марти. Что стоит за этой многозначительной фразой? Чтобы лучше понять. его каталог. какую информацию содержит файл tnsnames. USER или 4 выводят информацию уровня пользователя. trc_level • use_plugandplay Tnsnames. 4. Startup waittime С помощью этой команды устанавливается интервал времени (в секундах). Команда set trc_level перекрывает установки.ora В файле tnsnames.ora хранится конфигурационная информация для локальных имен прозрачного сетевого субстрата (TNS). вы правы: все они являются . Возможные аргументы — ON или OFF. Джим. тогда как SUPPORT или 16 дают дополнительную информацию. USER. а также уровень трассировки.OFF. trc_directory. тем больше информации вы получите. Команда show Для полноты картины ниже приведен список параметров команды show. предназначенную для службы поддержки Oracle.

если база данных была запущена раньше прослушивающего процесса.1. так и "Марта". а "Марти" может означать как "Мартин".ora file. it There are no defaults for entries in this file # that Sqlnet/Net3 use that need to be overridden » # Typically you could have two tnsnames.1.5 и выше база данных при запуске сама регистрируется в прослушивающем процессе. таким образом. . то она все равно зарегистрируется. вы увидите. а "Джим" — от "Джеймс". слово "псевдоним" означает "другое имя". но ни слова не говорится о Net8. Однако в следующей главе.ora files # in the system. В версиях Oracle до 8. хотя на это может потребоваться некоторое время. чтобы определить имя и местонахождение каждой из баз данных. что ведение большого числа таких файлов для поддержки разработчиков приложений и конечных пользователей может вызывать значительные трудности. Имя "Билл" может быть образовано от "Уильям". что этот файл довольно старый — в нем упомянуты SQL*Net и Net3 (первоначальное название Net8). По заголовку видно. что на клиентской машине файл tnsnames. and a # second file that is used by each user locally so that # he can override the definitions dictated by the system it tnsnames.5 для Windows NT.ora. К чему весь этот разговор о сокращенных именах и псевдонимах? Дело в том. поэтому можно предположить.ora Ниже приведен файл tnsnames. one that is set for the entire system # and is called the system tnsnames.ora определяет (или описывает) имена. "Пег" используется вместо "Пегги".1. сокращенными вариантами полных имен. перечисленных в файле listener. На сервере те же самые имена используются прослушивающим процессом для установления соединений с базой данных.ora.ora. входивший в мой дистрибутив Oracle 8. Есть ли разница между сокращенным именем и псевдонимом? Согласно словарю. В версиях 8.ora file.5 прослушивающий процесс считывал файл tnsnames. Согласно второму абзацу. LJ и This file contains the syntax information for # the entries to be put in any tnsnames. посвященной серверу имен Oracle. в системе может присутствовать более одного файла tnsnames. что сокращенное имя и псевдоним — это примерно одно и то же. которые используются для обращения к базе данных с этой машины. Прослушивающий процесс периодически опрашивает базы данных на предмет регистрации. Образец файла tnsnames.ora.ora file П The entries in this file are need based.Глава 3 .

можно назвать ее в файле tnsnames. # They are a collection of aliases 'for the addresses that" # the listener(s) is(are) listening for a database or # several databases. defaults to 2048 # Can take values between 512 and 32K [ (ADDRESS_LIST= # Optional depending on whether u have # one or more addresses # If there is just one address. на которое будет отзываться прослушивающий процесс. Q # The following is the general syntax for any entry in П a tnsnames.• .Компоненты Nets 89 CJ # The entries in tnsnames. Это имя обычно называют именем сетевой службы (net service name). что файл tnsnames. » More addresses Как следует из этого листинга. .ora используется в качестве альтернативы серверу имен.ora довольно прост.. Здесь говорится о том. There could be several such entries # tailored to the user's needs. Записи в этом файле представляют собой коллекцию псевдонимов. Этот раздел довольно прозрачен.ora как угодно.ora file.. синтаксис записей в tnsnames.ora are an alternative to using # the names server with the onames adapter. Сначала вы указываете имя. используемых прослушивающим процессом для установления соединений с базой данных. un-. Если есть база данных MYDB. unnecessary ] (DESCRIPTION [ (SDU=2048) ] «Optional. . Существует только одно правило: при . .essary ] (ADDRESS= [ (COMMUNITY=<conmiunity_name>) ] (PROTOCOL=tcp) (HOST=<hostname>) (PORT=<portnumber (1521 is a standard port used)>) ) [ (ADDRESS= (PROTOCOL=ipc) (KEY=<ipckey (PNPKEY is a standard key used)>) (ADDRESS= [ (COMMUNITY=<community_name>) (PROTOCOL=decnet) (NODE=<nodename>) (OBJECT=<objectname>) . <alias>= [ (DESCRIPTION_LIST = # Optional depending on whether u have # one or more descriptions # If there is just one description.

о га # Generated by Oracle Nets Assistant . Реальный файл tnsnames. я вызываю ее с помощью псевдонима.. WORLD . MYDOMAIN . или имени сетевой службы. COM = (DESCRIPTION = (ADDRESS_LIST = ) (ADDRESS = (PROTOCOL = TCP)(HOST = marlenes-pc)(PORT = 1526)) ( CONN ECT_ DATA = (SID = ORCL) . Н а п р и м е р . WORLD. COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = marlenes-pc)(PORT = 1526)) ) (CONNECT_DATA = (SID = ORC1) ' : ' .5 и стандартной базы данных ORCL из версии 8.5. COM = (DESCRIPTION = (ADDRESS.1 / . как работают остальные дескрипторы и параметры. и тогда в строке соединения нужно будет использовать именно его: Q sqlplus MYSCHEMA/MYPASSWORD@MARLENES_DB Несмотря на то что моя база данных имеет имя MYDB.0.ora Теперь обратимся к реальному файлу tnsnames. MYDOMAIN .-: • •' • ORC 1 . WOR LD . '.90 Глава 3 попытке установить соединение с базой данных следует использовать точно такое же имя. чтобы понять. объявленного в файле msnames.' • MARLENES-PC. я могу у к а з а т ь п с е в д о н и м MARLENES_DB.1. MYDOMAIN.ora. как выглядит мой файл для стандартной базы данных ORC1 из версии 8. Ниже показано. Q # D:\ORA8I\NETWORK\ADMIN\TNSNAMES.ORA Configuration File : D : \о ra8i\NETWORK\ADMIN\t nsnames .ora.LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = marlenes-pc)(PORT = 1521)) ) (CONNECT_DATA = (SID = ORC1) ORCL .

. ON или OFF. то другую из этих баз данных. приведенные в таблице 3. Его следует применять только в том случае. Адресную информацию можно ввести сразу после параметра description. PORT IPC KEY DECNET NODE. Установка source_route=YES (или ON) требуется при использовании менеджера соединений. а потом добавить параметр node для определения местонахождения машины. Этот параметр предназначен для балансировки нагрузки. что в обеих записях значение SID одно и то же. NO. Если перед прибытием к месту назначения запрос должен пройти через несколько промежуточных адресов.Компоненты Nets 91 Этот файл состоит из трех отдельных записей. Заметьте также. вы можете создать область description_list или ограничиться ключевым словом description. то используется параметр source_route со значениями YES. а лишь затем к месту назначения. Параметры. а именно машину. Другой параметр.7. для успешного установления соединений имя параметра должно строго соответствовать используемому протоколу.8. Параметры tnsnames. Некоторые протоколы и связанные с ними параметры перечислены в таблице 3. Область description_list используется для определения списка дескрипторов. Первая и вторая записи содержат информацию для обращения к базе данных ORC1 по двум разным псевдонимам через два разных порта — стандартные порты Oracle с номерами 1521 и 1526.7.ora. В области connection_data списка описаний можно указывать любые из параметров. когда клиентский запрос сначала поступает к менеджеру. зависят от типа используемого протокола. Он указывает тип службы для базы данных Oracle Rdb и используется интерфейсными инструментами Rdb. и Oracle Rdb и вы хотите. не используя address_list. Таблица 3. на которой находится база данных. а сами эти адреса перечисляются в нужном порядке в списке address_list. чтобы при установлении соединений приложение случайным образом выбирало то одну. В область описаний также помещаются параметры address_list и address.— это type_of_service. когда приложение поддерживает и Oracle RDBMS.ora Как и в случае файла listener. Таким образом. который в случае использования должен размещаться в области-описаний. указываемые в списке адресов. OBJECT Хотя параметры host и node описывают одно и то же. Требуемые параметры протоколов Протокол TCP Параметр HOST. вы не можете указать протокол TCP. ассоциированных с именем сетевой службы.

Указывает имя экземпляра базы данных. размер SDU должен быть кратен размеру стандартного транспортного кадра. указав его имя. Обычно здесь указывается глобальное имя базы данных. Как это делается? Прежде всего в файл init.1. В зависимости от конфигурации будут автоматически восстановлены все текущие сеансы или все выполнявшиеся операторы select. под указанную единицу данных сеанса (session data unit.1. TYPE и METHOD. в свою очередь. В случае Ethernet стандартный транспортный кадр имеет размер 1024 байта и для максимальной эффективности SDU не должен превышать эту величину более чем в четыре раза. В службу может входить более одного экземпляра. Обычно это системный идентификатор (SID). SDU). Идентифицирует базу данных Oracle Rdb.8. a METHOD .ora. net_ ^ (description = (address= (адресная_информация)) (connect_data= (зегу1се_пате=имя_службы) (1г^апсе_пате=имя_экземпляра))) . Значение DEDICATED сообщает прослушивающему процессу о необходимости использовать выделенное соединение в среде многопоточного сервера. который можно найти в файле параметров init. Оно может включать в себя имя базы данных. Дополнительно можно идентифицировать экземпляр версии 8. server Сообщает Net8 о необходимости оптимизировать скорость передачи пакетов данных. как показано ниже. Этот параметр имеет подпараметры BACKUP. может принимать значения SESSION.1.ora должны быть включены параметры service_name и instance_name.ora.92 Глава 3 Таблица 3. отправляемых по сети. Подробнее об именах служб Имя службы — это логическое представление службы. Значение по умолчанию — 2048. Когда вы создаете имя сетевой службы для базы данных версии 8. TYPE. SELECT или NONE. к которой предполагается доступ. Сообщает Nets о необходимости переключаться на другой прослушивающий процесс в случае сбоя первого. hs Сообщает Net8 о необходимости соединяться с системой. к которому предполагается доступ. Параметры connection_data Параметр servicejiame globaljiame instancejiame failover mode Описание Идентифицирует службу версии 8. rdb_database sdu Указывает имя базы данных Rdb.значения BASIC и PRECONNECT. службу необходимо идентифицировать по имени. отличной от Oracle. После этого указываются значения в файле tnsnames.

чтобы выбрать подходящий вариант. размещаемый на каждой клиентской машине. Их можно найти в приложении А.ora ft FUNCTION ft Oracle Network Client startup parameter file example ft NOTES ft This file contains examples and instructions for defining all ft Oracle Network Client parameters. Имена разделов. Файл sqlnet. Там отмечалось. Q * copyright (с) 1996 by the Oracle Corporation ft NAME ft sqlnet. является своего рода профилем. и он сверялся с моим "профилем". не были перечислены в заголовке.1.x) and Net3.0 Client* Для простоты восприятия параметры каждого раздела вынесены в отдельные таблицы. поясняющий назначение этого файла. It should be possible to read ft this file and set up a Client by uncommenting parameter definitions ft and substituting values.ora используется при конфигурировании: • Доменов » Предпочтительных серверов имен Oracle • Расширенной информации профиля . net. как нужно устанавливать и поддерживать соединения с сетевыми службами. но присутствуют в файле. нужна ли мне особая диета. параметры трассировки и протоколирования. а имя экземпляра — параметром instance_name. имеет огромный размер. и т. сообщающим Net8. Файл sqlnet.ora. какие номера в гостинице я предпочитаю. в которой описывала свои предпочтения. какой номер имеет моя кредитная карта. Решив заказать тур. The comments should provide enough ft explanation to enable a reasonable user to manage his TNS connections ft without having to resort to 'real' documentation. отмеченные звездочками. где мне нравится сидеть в самолете — у окна или рядом с проходом. В частности.Компоненты Nets 93 Имя службы задается параметром service_name. занимая почти 50 страниц в формате Microsoft Word. я звонила своему агенту. Ниже приведен заголовок. ©ra Я много путешествовала.5 для Windows NT. Перед началом каждого путешествия я заполняла у турагента специальную форму — "профиль путешествия". ft SECTIONS ft ONames Client ft Client Cache (ONRSD)* ft Namesctl ft Native Naming Adapters ft Advanced Networking Option Network Security* ft Oracle Security Server* ft Sqlnet(v2. способы обеспечения безопасности. поставляемый с Oracle 8.ora. Пример файла sqlnet. в нем определяются приоритетные методы именования.д.

IBM Netview /6000. чтобы поинтересоваться вашим здоровьем и делами. что вы отвечаете за составление метеорологического прогноза. Итак. по вашему мнению. у нас есть управляющая станция. Tivoli. Вызов. которая позволила бы использовать его для изменения системных параметров. Управляющая станция выполняет свою работу с помощью специального программного обеспечения. Управление системами и сетями Oracle. Novell . которые могут быть опрошены. я имею в виду базу данных. вы обнаружите. выполняемый управляющей станцией SNMP. а также сетевых и системных администраторов. DEC Netview POLYCENTER. Sun SunNet Manager. поддержка SNMP в Oracle ограничена только опросом состояния. Примерами платформ управления. какова она сейчас и какой. Взгляд изнутри Рассматривая SNMP как стандартный протокол Интернета. называются управляемыми элементами (managed elements). что будет происходить с погодой в ближайшие часы. являются СА Unicenter. Любые машины или приложения. Употребляя слово "приложение" в разговоре об SNMP. а также для быстрого выявления и локализации потенциальных проблем. Все это будет подробнее рассмотрено в главах 4 и 6. называется SNMP-опросом (SNMP poll). В сетях Oracle протокол SNMP используется преимущественно для оперативного контроля за приложениями Oracle в ходе их нормальной работы. вы можете только наблюдать за ней и сообщать. Он позволяет определять местонахождение баз данных и приложений. Как бы вам ни хотелось воздействовать на погоду. Простой протокол управления сетью (Simple Network Management Protocol. Управляющая станция (management station) или управляющий узел (managing node) опрашивает другие сетевые узлы или приложения для проверки их состояния или деятельности — подобно тому. называемого платформой управления (management platform) или средой управления (management framework). с которыми могут интегрироваться продукты Oracle. Введение в SNMP Представьте. SNMP) был разработан главным образом для администраторов баз данных.94 Глава 3 • Маршрутизации запросов на соединения • Усовершенствованных средств безопасности Oracle а также при установке приоритетных методов разрешения имен сетевых служб. которая опрашивает управляемые элементы сети. выполнять их идентификацию и управлять ими с центральной машины. что для него все машины делятся на два типа. Поскольку SNMP в настоящее время не обладает той безопасностью. как ваша мама звонит вам каждый день. их модификация и настройка осуществляются с помощью других инструментов. HP Open View. Собранная информация позволяет предсказать. будет в ближайшем будущем. Дни и ночи напролет вы наблюдаете за погодой в своем районе и составляете отчеты.

что мои инструменты совершенно не годятся для этой работы. Cabletron Spectrum Management System и Castle Rock SNMP Network Manager. Операционные системы сильно отличаются друг от друга. какую информацию можно получать через SNMP. входит в базовый набор программного обеспечения Oracle. называемый Oracle Enterprise Manager (OEM). Помимо главного агента в каждом управляемом элементе могут присутствовать субагенты (subagents). Этот инструмент. Платформа управления посылает главному агенту запрос по протоколу SNMP. Агент дает требуемый ответ. что машина является частью сети. так это крайнюю твердость почвы на заднем дворе. то он может не обладать совместимостью с субагентами Oracle. . что после этого стало совсем легко. Каждый управляемый элемент содержит структуру. помогающих конфигурировать различные компоненты Net8. Что я не учла с самого начала. Вместе с инструментами конфигурирования сети он может облегчить вашу работу. с помощью которого можно определить. я рекомендую обратиться к документации на конкретную систему. Очень скоро я поняла. называемую базой данных управляющей информации (Management Information Base. У меня была только небольшая мотыга и пара ручных инструментов. Это позволяет быстро принимать меры по предупреждению или устранению проблем. который взаимодействует с платформой управления. опять-таки через SNMP. но помидоры выросли отличные! В базовую поставку Oracle входят несколько инструментов. поэтому я ограничилась тремя кустами помидоров и тремя сладкими перцами. какие действия нужно предпринять для конфигурирования SNMP. Обратите внимание: из того факта. В определенных ситуациях агент может послать аварийное сообщение (trap) по известному адресу вне платформы управления. что она поддерживает SNMP. Позади моего дома совсем мало места. насколько конфигурация Net8 согласована с сетевыми узлами и базами данных. MIB). и чтобы определить. выполняющие задачи мониторинга или непосредственно взаимодействующие с базами данных или программами. и мне пришлось пойти в магазин садовых принадлежностей. Oracle Enterprise Manager и Intelligent Agent Прошлым летом я решила развести огород. Если главный агент SNMP предоставляется вашей операционной системой (что вовсе не обязательно). В состав каждого управляемого элемента входит главный агент (master agent). Не могу сказать. Мы рассмотрим все эти инструменты в следующих главах. Это происходит следующим образом. В задачи главного агента входит мониторинг сетевой машины. В ней описано. Bull Integrated System Management. чтобы купить что-нибудь более подходящее. а сейчас познакомимся с инструментом. автоматически не следует. когда я приступила к устройству грядок.Компоненты Nets 95 Network Management System.

с OEM 1. и содержит самый богатый на сегодняшний день набор опций.6 с OEM 2.5.1. Эти возможности предоставляются в рамках базовой поставки OEM.5.с OEM 2.5 . а Огас1е8.1.96 Глава 3 bop OEM Доступ к инструментальному набору OEM возможен только из среды Windows (95. 98 или NT) на PC. Помимо базовых инструментов корпорация Oracle за отдельную плату предлагает средства для автоматического запуска мониторинга в любой из баз данных системы. Для связи с субагентом главный агент также использует SNMP. На каждом сервере можно сконфигурировать только один Intelligent Agent.3.0. Этот набор появился в седьмой версии Oracle и включался (с разными номерами версий) во все последующие версии РСУБД. Если SNMP доступен в управляемом элементе. На рис.3 была выпущена с OEM версии 1. 3. Oracle Enterprise Manager представляет собой набор графических инструментов. позволяющих управлять базами данных с одного центрального PC.5 . но он может взаимодействовать с субагентами через прозрачный сетевой субстрат или с помощью других средств. так и с главным агентом SNMP. Вы можете исследовать конфигурацию каждой из баз данных и выполнять общие задачи администрирования. OracleS. а субагент соединяется с базой данных при помощи Net8. которая устанавливает связь с главным агентом по протоколу SNMP. поддерживающих базы данных Oracle. сообщая о проблемах или передавая информацию. от вас может потребоваться конфигурирование Intelligent Agent для каждой из операционных систем вашей сети. Сосредоточимся на возможностях. Теперь посмотрим.0.0. поскольку он совместим со всеми предыдущими версиями Oracle.5. OEM может соединяться с субагентом через TNS или какой-либо протокол.0. OracleS. в файле конфигурации Intelligent Agent должны быть зарегистрированы все базы данных.4. то субагент базы данных (Intelligent Agent) может взаимодействовать как с OEM. . находящиеся на сервере. Intelligent Agent работает независимо от баз данных и других служб. не относящийся к TNS. Чтобы OEM мог обнаружить каждую из баз данных. OracleS.1 показана управляющая станция с платформой управления. предлагаемых в OEM версии 2. Например.6. какую роль в среде OEM играет SNMP. Даже если вы не являетесь администратором базы данных. SNMP и OEM OEM не использует SNMP непосредственно. Для взаимодействия с базой данных на ее сервере должен быть запущен прослушивающий процесс OEM (называемый "интеллектуальным агентом" (Intelligent Agent) или субагентом базы данных). начиная с Oracle?.O.

1.97 Компоненты Nets Управляющая станция Управляемый элемент Рис. Интеграция Oracle с компонентами SNMP . 3.

.

Сервер имен Oracle .

"AXCZ23B1". компьютеры одной группы назывались "Гручо". по которому к нему обращается большинство других людей. В действительности наши компьютеры и базы данных не станут работать хуже. а в третьей — названия быстроногих животных. также потребуется изменить свои строки соединения . В большинстве случаев компьютерам присваивается IP-адрес. Если вас когда-нибудь называли неправильно. где над каждым компьютером висела картонка с его именем. "Чико" и "Карл". В компьютерах также используются имена баз данных. ONLINE_DB или PRODI. что при этом могут возникнуть трудности при ссылке на определенную машину или базу данных.COM Что произойдет. а также имя. Нам. В мире Oracle имена не менее важны. то со временем наверняка начнете называть этот компьютер "ax-ees-two-three-bee-one" или просто "bee-one". чем бессмысленные строки. так и уменьшительное. "Гепард" и "Пума". экземпляров и служб. PROD2. Если я правильно помню. предназначенное для близких друзей и членов семьи. с самого рождения дается одно или несколько имен. чтобы нас было легче отличать друг от друга. например. необходимо ввести примерно следующее (MYDBACCT — ваше имя пользователя. Чтобы установить соединение с использованием полного адреса. Конечно. Однажды мне пришлось побывать в организации. когда говорим о компьютерах и других неодушевленных предметах вычислительной среды. Каждый компьютер сети идентифицируется тем или иным образом.100 Глава 4 1мена очень важны. Допустим. "Харпо". находящейся на компьютере AXCZ23B1. Всем. a MYPW — пароль): Q sqlplus MYDBACCT/MYPWiSKDL AXCZ23B1. кто работает с этой базой данных. что вам нужно соединиться с базой данных SKDL. Мы настолько привыкли называть вещи по именам. Почти все в нашем мире имеет свое имя. например. насколько тесно ваше имя связано с вашей личностью. людям. которые легко угадать. гораздо проще нажать на телефоне кнопку с надписью "Врач". Другое дело. что предпочитаем использовать имена вместо чисел. в другой группе использовались названия планет Солнечной системы. если переместить базу данных с AXCZ23B1 на другой компьютер? Ваша строка соединения изменится. Такова человеческая природа — использовать осмысленные имена для объектов окружающего мира.US. Растения и животные в большинстве случаев имеют по два имени: научное и общеупотребительное. то вы хорошо знаете. Если вы присвоите компьютеру труднопроизносимое имя. если вместо произносимых имен мы будем использовать бессмысленные сочетания букв и цифр. имена запоминаются намного легче. чем искать телефонный номер этого врача. с точки зрения безопасности нежелательно использовать очевидные имена. В конце концов. Как правило. У человека может быть как официальное имя. что-то вроде "Рысь".

к которой могут обращаться все клиентские машины. где они используются. давайте кратко рассмотрим принципы архитектуры клиент/сервер. что мы с вами понимаем их одинаково. обеспечивающей поддержку соединений многих клиентов с распределенными серверами. Архитектура тонкого клиента позволяет обойти проблемы с ресурсами и обслуживанием. как имена хостов разрешаются в IP-адреса. сокращенное имя) в дескриптор или полный адрес машины. В отличие от архитектуры клиент/сервер приложения размещаются на отдельной машине. Машина среднего уровня играет роль посредника между клиентами и серверами баз данных. сервер имен Oracle разрешает идентификатор соединения (например. клиенту требуются минимальные ресурсы. Подобно тому. При наличии большого числа пользователей или при недостаточном объеме ресурсов требования к ресурсам легко могут превысить возможности машины. Таким образом. Это позволит гарантировать. Довольно утомительная процедура! Без сокращенных имен того или иного типа вам пришлось бы запоминать полные адреса каждой машины и каждой базы данных в сети. Различные сетевые архитектуры В среде мэйнфрейма прикладные программы и база данных располагаются на одной и той же машине. Перед тем как обсуждать сервер имен Oracle.Сервер имен Oracle 101 в каждом приложении. В этой главе вы узнаете о сервере имен Oracle — распределенной службе именования. каждая клиентская машина должна обладать достаточными ресурсами для поддержки приложения и запросов. • Передает запросы нужному серверу базы данных. . а поддержку приложений обеспечивают клиентские машины. характерные для подхода клиент/сервер. если в сети присутствует более одного такого сервера. В среде клиент/сервер приложения перемещены с сервера на клиентские машины. Однако при любом изменении приложения необходимо менять конфигурацию каждого клиента. какой это кошмар. Общие сведения В главе 2 говорилось об эволюции вычислительных сред — от мэйнфреймов к средам клиент/сервер и далее к средам тонкого клиента. Кроме того. • Получает ответы от сервера базы данных. • Возвращает ответы клиентам. Можно представить. Она выполняет следующие задачи: /' • Принимает от клиентов информационные запросы. а центральному серверу по-прежнему достаточно поддерживать только базу данных. В этом случае ресурсы сервера используются только для поддержки базы данных. машина среднего уровня обеспечивает работу приложения. Чуть позже в этой главе будет рассказано об идентификаторах и дескрипторах подробнее.

наконец. Сейчас я приведу зашифрованную фразу.ora).ora обеспечивает трансляцию имени службы (псевдонима) в адрес экземпляра. а потом создала ключ. что файл listener. так: Qabcdefghijklmnopqrstuvwxyz efghij klmnopq rstuvwxyzabcd Предположим. которые предоставляют информацию. я хочу зашифровать слова "Hi there". а потом сдвинуться на несколько букв вправо или влево и переписать алфавит снова. Вообразим. с помощью которого заменила одни буквы на другие. evknfibzex tre sv wle!". что использовалась на мэйнфреймах. Готовы? Вот эта фраза: 'Jw. Посмотрим. что мы шпионы. но опирающаяся на более быстрые процессоры и большие ресурсы памяти. В главе 12 мы подробнее рассмотрим WebDB. . Файл tnsnames. в котором прикладная информация хранится непосредственно в базе данных. а также прослушивающий процесс. который необходимо сконфигурировать для взаимодействия с этим набором продуктов. А вот подсказка: начинайте с буквы j и заканчивайте буквой г. Немного ниже я дам расшифровку. что это простой подстановочный шифр. Из главы 3 вы знаете. Трансляция сетевых имен Появление и последующее совершенствование сетевых протоколов обеспечило переход от мэйнфреймов к архитектуре клиент/сервер. первым зашифрованным словом будет "Lm". которым нужно обмениваться шифрованными сообщениями. Очевидно. к современному состоянию дел. Это гибридная форма архитектуры. Иначе говоря. я написала фразу на листке бумаги. а именно адреса и параметры.ora содержит конфигурационную информацию для одного или нескольких прослушивающих процессов. когда некоторые приложения хранятся непосредственно в базе данных.ora и tnsnames. потом к архитектуре тонкого клиента и. Таким образом. можно выписать буквы английского алфавита в обычном порядке от а до z. которую вам предстоит расшифровать с помощью подсказки. Пример трансляции Перед тем как продолжать разговор о файле tnsnames.102 Глава 4 Вместе с OracleSi корпорация Oracle выпустила новый набор продуктов под названием WebDB. что нужно сделать для взлома шифра. что под буквой h находится буква /. Должно получиться "xlivi". позволяющего шифровать фразы. а под буквой г — буква т. Теперь вы можете вернуться назад и с легкостью решить первую головоломку. Попробуйте самостоятельно зашифровать слово "there". напоминающая ту. Я смотрю на свой ключ и вижу. Для создания ключа. С момента внедрения технологии клиент/сервер мы используем файлы сетевой конфигурации (listener. давайте немного поиграем.ora и сервере имен Oracle. ассоциированные с каждым из них. доступные в наши дни. необходимую для работы базовых сетевых протоколов и реализации распределенных взаимодействий. например.

Сервер имен Oracle также обеспечивает централизованный подход к хранению сетевых имен и адресов. что он поддерживает только службы Oracle. В главе 5 вы увидите. а для его настройки и администрирования требуется прикладывать дополнительные усилия.Сервер имен Oracle 103 И в первом. К недостаткам сервера имен Oracle относится то. Этот метод лучше всего работает в больших. или разрешали. В этой главе нам предстоит изучить сервер имен Oracle. DNS).ora похожим образом — для разрешения имен в адреса. поскольку оно относительно просто реализуется и может использоваться для разрешения имен сетевых служб в сетях с различными протоколами. что при каждом изменении среды требуется модификация всех локальных конфигураций. а в главе 5 будет подробно рассмотрено именование по каталогу. почему это может стать потенциальной проблемой. этот метод лучше всего работает в сложных сетях с не менее чем двумя десятками баз данных. именование по каталогу (directory naming). в чем они состоят и каковы их достоинства и недостатки. Недостатком является то. При этом вам доступно несколько различных методов трансляции имен. Методы трансляции имен Фактически существует пять различных подходов к разрешению дескрипторов соединений: локальное именование (local naming). Рассмотрим кратко. после чего быстро становятся известны всем пользователям. что для разрешения имен необходимо обращаться к серверу каталога. Любые изменения на серверах баз данных регистрируются только один раз и в одном месте — на сервере имен Oracle. состоит в том. сложных сетях с более чем 20 базами данных. При использовании метода именования по каталогу имена служб вместе с информацией о соединениях хранятся в централизованном каталоге. самым распространенным методом трансляции имен является локальное именование. число которых может достигать сотен и тысяч. именование по хосту (host naming) и внешнее именование (external naming). в которых регулярно происходят изменения. сетевая информационная служба (Network Information Services. Тем не менее для полноты картины будут кратко описаны все возможные варианты с указанием их достоинств и возможных недостатков. в которых изменения служб происходят нечасто. Конфигурирование легко выполняется с помощью поставляемых с базой данных инструментов. о которой подробнее рассказано в следующем разделе. NIS) или централизованно ведущийся файл со списком хостов TCP/IP. Как и именование по каталогу. сервер имен Oracle (Oracle Names server). Потенциальная проблема. в которых регулярно происходят изменения. Конфигурирование на стороне клиента сводится к минимуму — для установления соединения . и во втором случае вы транслировали. одну форму слова в другую. Локальное именование лучше всего подходит для простых распределенных систем. Вероятно. в роли которого может выступать служба доменных имен (Domain Name Services. При именовании по хосту разрешение имен выполняется с помощью механизма трансляции IP-адресов. Net8 использует файл tnsnames. Все изменения выполняются только в одном месте.

ora не представляет особой сложности. и сервер должны в обязательном порядке использовать TCP/IP и иметь доступ к DNS. поскольку он не поддерживается в данной конфигурации. LDAP будет описан в главе 5. Если у вас уже есть какая-либо служба имен.104 Глава 4 пользователю достаточно указать только имя хоста. Когда вам нужно добавить. требуется обдумывать и решать множество вопросов. вы можете загрузить в нее имена сетевых служб Oracle с помощью инструментов и утилит. соответствующих только что приведенному требованию. Потенциальные проблемы В среде Net8 существует одно простое. Кроме того. Однако сторонние службы имен обычно нельзя администрировать с помощью инструментов Net8. Однако этот метод имеет ограниченное применение. поставляемых производителем. Именование по хосту лучше всего подходит для простых TCP/IP-сред. Затем (в OracleSi.ora. что менеджер соединений Oracle будет недоступен. а какие нет? Проблем становится еще больше.ora. При редком добавлении или удалении баз данных. А если у вас очень много клиентов или среда баз данных по-настоящему динамична? Обслуживание может превратиться в кошмар! Представьте себе и такую ситуацию. а в этой главе выясним. Кто будет определять. изменить или удалить имя службы. а в вашей компании есть группа. NIS или файлам со списками хостов. Как вы будете следить за тем.ora. то как ее распространить по системе и кто будет выполнять перенос? Как гарантировать наличие правильного файла на каждой клиентской машине? Как видите.ora. которое является самой распространенной формой трансляции имен. Release 2) появился сервер каталога (directory server). . корпорация Oracle разработала приложение. это должно быть сделано в каждом из файлов tnsnames. но очень важное правило: при использовании локального именования. какие файлы должны быть модифицированы. какой файл tnsnames. работающий по протоколу LDAP (Lightweight Directory Access Protocol — упрощенный протокол доступа к каталогу). которая самостоятельно конфигурирует свои машины. каждый сервер и каждый клиент должны иметь файл tnsnames. когда в систему добавляются новые клиенты. поскольку и клиент. когда некоторым разработчикам или пользователям требуются специальные файлы tnsnames. а также при очень небольшом количестве клиентов и служб модификация каждого файла tnsnames. что устраняет необходимость в файле tnsnames. обеспечивающее централизованное разрешение имен служб — так называемый сервер имен Oracle (Oracle Names server). присутствующих в системе. Последний метод именования — внешнее именование — позволяет разрешать имена Oracle с помощью служб имен других производителей. при реализации этого метода нужно учитывать. Чтобы снизить остроту этих проблем.ora. что представляет собой сервер имен Oracle и как он работает. Как уже говорилось.ora использовать? Если сгенерирована новая версия tnsnames.

Давайте посмотрим. поставьте себя на место преподавателя. Но пугаться не стоит. каким образом сервер имен Oracle работает с клиентским запросом. В данном случае он говорит о том. соединения с ними идентифицируются как STUDENTS (студенты). которую вы получили бы из файла tnsnames. Сервер имен обращается. имеет системный идентификатор GRADES. необходимую для разрешения идентификатора соединения в дескриптор соединения. Каждая база данных при запуске регистрируется на сервере имен Oracle. Этот дескриптор содержит ту же информацию. каждое изменение достаточно выполнить только один раз в одном месте. в котором указан идентификатор соединения (GRADES). запрашивающему соединение. в зависимости от конфигурации. передает серверу имен Oracle запрос на соединение. это замечательный способ сократить объем работы по администрированию? Однако за все нужно платить. Приложение.ora: LJ (ADDRESS= (PROTOCOL=tCp) (HOST=marlenes-pc) (PORT=1521)) (CONNECT_DATA (SID=grades)) Затем дескриптор соединения возвращается приложению. . который распространяет его по другим серверам имен системы. Получение информации о соединении Чтобы понять. Когда возникает необходимость что-то изменить в сети Oracle. который только что закончил принимать последний экзамен и хочет ввести в базу данных отметки студентов. При использовании сервера имен Oracle вам больше не нужно снабжать каждого клиента системы файлом tnsnames. Далее будем основываться на предположении. Следовательно. Со временем сервер имен Oracle становится все более дружественным к пользователю и более простым в применении. GRADES (отметки) и COURSES (курсы).ora. что служба GRADES уже доступна и зарегистрирована на сервере имен. Вам нужно установить соединение с использованием идентификатора GRADES. как он работает и какие решения необходимо принять перед началом его использования. к своему кэшу или к своей базе данных и получает информацию. с которым вы работаете. База данных. это изменение выполняется на сервере имен Oracle. к которой предстоит обращаться. использует протокол TCP/IP и прослушивает порт 1521. В данном случае потребуется приложить больше усилий на начальном этапе. разработанное корпорацией Oracle для централизованного хранения имен и адресов всех служб сети и предоставления этой информации каждому клиенту. что прослушивающий процесс расположен на хосте MARLENES-PC. Не правда ли.Сервер имен Oracle 105 Сервер имен Oracle Сервер имен Oracle — это приложение. В сети учебного заведения находятся три "сервера.

1. Об организации репозитория подробнее поговорим в части II. я коротко заметила. принимает дескриптор соединения и посылает запрос на соединение прослушивающему процессу на нужной машине. Допустим. расположенному по указанному адресу. и соединяется со службой. Множественные серверы имен Oracle При каких обстоятельствах в сети следует иметь более одного сервера имен Oracle? Этот вопрос требует развернутого ответа. Если вы . (2) Сервер имен Oracle (ONames) обращается к своей базе данных и возвращает дескриптор соединения. Но где ее взять? Все очень просто — для хранения имен и связанной с ними информации выделяется одна из существующих баз данных Oracle или создается отдельная база данных.106 Глава 4 После этого приложение направляет запрос на соединение прослушивающему процессу. А пока просто имейте в виду. Для вас этот процесс остается прозрачным. Сервер Клиент Рис. как вы его сконфигурируете. вы решили выбрать в качестве репозитория сервера имен Oracle базу данных. ONames (1) Клиент передает запрос на соединение. что вы можете выбирать способ хранения информации об именах. Рассказывая о том. (3) Клиент запрашивает соединение. Посмотрим. Когда в сети присутствуют несколько таких серверов. На рис. все довольно просто. Конечно. Какой метод получения информации будет использовать ваш сервер — зависит от того. 4. Получение дескриптора соединения от сервера имен Oracle Как видите. 4. что для хранения идентификаторов и дескрипторов соединений может использоваться кэш или база данных. зачем могут потребоваться два и более сервера имен и какие задачи управления приходится решать в этом случае. когда будем рассматривать инструменты конфигурирования.1 показано. как клиент передает серверу имен Oracle запрос с идентификатором соединения. содержащий идентификатор соединения. в этом примере был показан только один сервер имен. как сервер имен Oracle обрабатывает запрос. ситуация немного усложняется.

а могут располагаться на разных машинах и использовать отдельные базы данных для повышения отказоустойчивости. поэтому совместно используют технику всех трех пожарных частей. Обе части имеют общую центральную станцию. то для этого потребуется выделить физическую память. Административные регионы Недалеко от моего дома находится пожарная часть. если они запросят соединения с базами данных почти одновременно? При наличии только одного сервера имен Oracle вполне может возникнуть узкое место. сколько клиентов поддерживает ваша система. использующих одну или несколько баз данных для записи и считывания информации. . Административный регион (administrative region) состоит из одного и более серверов имен Oracle. что произойдет. а также уменьшить времена отклика (обеспечив тем самым поддержку большого количества клиентов). Таким образом. Более того. чтобы гарантировать доступность. обслуживающих разные области сети. В примере с пожарной частью у нас есть два административных региона. При наличии только одного сервера имен вы имеете единственную точку отказа и как следствие потенциальные проблемы. Третий город. расположенный поблизости. Далее нужно учесть. имеет свою собственную диспетчерскую. Возможно. что каждый сервер имен Oracle должен хранить свою информацию в кэше.Сервер имен Oracle 107 решите. Каждая пожарная часть соответствует серверу имен Oracle. Выбор остается за вами. логично с самого начала остановиться как минимум на двух серверах имен Oracle. если компьютер с сервером имен Oracle станет недоступным (например. использующих единый репозиторий. количества центров данных. у вас 2000 клиентов. которые часто становятся весьма реальными. Что произойдет. где сидят диспетчеры. Предположим. вы можете использовать несколько серверов имен. Но как управлять двумя и более серверами имен? Здесь на помощь приходит концепция административных регионов. и пользователи начнут получать отказы в соединении. кто-нибудь случайно зацепит шнур питания и выдернет его из розетки). что в вашей среде будет уместнее хранить информацию в одной или нескольких базах данных. количества экземпляров и расположения компьютеров в сети вам может потребоваться несколько отдельных серверов имен. Коль скоро речь зашла о пользователях. принимающие вызовы и посылающие пожарные машины. Примерно в десяти милях от нее расположена другая часть. а другой — только с одной. Однако все города относятся к одному округу. подобно тому как пожарная часть принимает вызовы через определенную диспетчерскую. представьте. Перенесем эту ситуацию на сообщество серверов имен Oracle. один с двумя пожарными частями. а центральная диспетчерская — репозиторию. которая обслуживает два города — мой и еще один. Эти серверы могут разделять один репозиторий в одной и той же базе данных. Каждый сервер имен обычно получает информацию из определенного репозитория. В зависимости от размера клиентской базы.

Административный регион с одним или несколькими доменами можно объявить в любом месте сети. как все города принадлежат к одному округу. Деление административного региона на отдельные логические домены упрощает администрирование. точно так же. позволяющие гарантировать отсутствие конфликтов между именами. квалифицированные именами домена и региона. "домен — это логическая группа машин и сетевых служб". В пределах каждого административного региона может быть как один. то вам следует составить план сети и разделить ее на административные регионы. адреса служб в действительности разделяются между всеми серверами имен. Поскольку имена всех административных регионов и доменов уникальны. сетевые домены имеют иерархическую организацию. и если один репозиторий окажется недоступным. так и несколько доменов. Если объекты принадлежат к разным схемам. подобно тому как в базе данных могут присутствовать два разных объекта с одним именем. как и домены Oracle. а другая — ROZ. . Таким образом. каждый сервер имен может хранить эту информацию в кэше и непрерывно тиражировать ее на другие серверы имен своего региона. сервер имен сможет получить необходимую информацию из другого административного региона. следует определить один или несколько доменов Oracle. Некоторые операционные системы используют пространства имен DNS (Domain Name System — доменная система имен). Подобно каталогам операционной системы. Все имена в пределах домена должны быть уникальны. Это означает.6. то вы можете различать их даже при совпадении имен. чтобы они совпадали с пространствами имен DNS. При желании вы можете определить имена доменов так.1. поскольку имя схемы связано с именем объекта. Домены Oracle не зависят от этих пространств имен. Хранение данных имен Oracle Выше отмечалось.MYTAB.108 Глава 4 Однако все серверы имен принадлежат к одной сети.MYTAB. принадлежащих к разным схемам. Допустим. являются логическими. Кроме того. что при конфигурировании серверов имен Oracle у вас есть возможность выбрать способ хранения информация об именах. а не физическими сущностями и не обязательно отображаются на реальное сетевое оборудование или компьютеры. что у вас есть таблица MYTAB в схеме NELSON и таблица MYTAB в схеме ROZ. имена объектов каждого региона. что в двух разных доменах может встречаться одно и то же имя службы или базы данных. также будут уникальны. Если вы решили использовать серверы имен. В частности. однако делать это не обязательно. Они используются просто как пространства имен. но поддерживать уникальность простых имен между доменами не требуется. Эти таблицы уникальны. поскольку одна из них в действительности называется NELSON. Домены Согласно руководству администратора Net8 версии 8. Однако сетевые домены.

ora. Вам не нужно регистрировать эту информацию. чтобы узнать об обновлениях. для каждой базы данных существует только одна связь. Серверы имен Oracle периодически опрашивают ее. Таблица 4.6. . а глобальное имя регистрируется при запуске базы данных или статически конфигурируется в файле listener. чтобы поддерживать актуальность своей информации. какого рода информацию хранят серверы имен. информация заносится в соответствующую региональную базу данных. Если в сети существует более одного административного региона. им не нужно постоянно связываться друг с другом.1. информация немедленно направляется всем серверам имен региона. Таким образом. если вы зарегистрируете их с помощью утилиты Names Control или инструмента Nets Assistant. где все службы регистрируются динамически. перечислены различные типы данных. Имена и адреса других серверов имен Oracle Сервер имен Oracle хранит имена и адреса всех серверов имен Oracle из своего административного региона. на которую указывает эта связь. когда служба регистрируется в прослушивающем процессе. В таблице 4. и вам понятны некоторые связанные с ним термины. Адрес конфигурируется в файле listener. Вам не нужно регистрировать эту информацию. как работает сервер имен Oracle. сервер имен может хранить ссылки на базы данных Oracle FWb и базы данных других производителей. обсуждение утилиты namesctl в последней части этой главы. Каждый раз. Кроме того. (См. Как правило. Типы хранимых данных К этому моменту вы уже знаете. Имя связи базы данных совпадает с глобальным именем той базы данных. когда несколько административных регионов регистрируют свою информацию в одной или нескольких региональных базах данных.1. когда служба регистрируется в прослушивающем процессе. которые может хранить сервер имен Oracle. взятой из руководства администратора Net8 версии 8. Региональная база данных содержит таблицы с информацией об именах. хранимые сервером имен Oracle Данные Описание Глобальные имена и адреса баз данных Сервер имен Oracle получает информацию о базе данных (ее глобальное имя и адрес) от прослушивающего процесса. Однако для крупномасштабных распределенных сред больше подходит другой вариант.) Глобальные связи баз данных Связи баз данных позволяют устанавливать соединение между двумя базами данных. Каждый раз. Но пока ничего не было сказано о том. Данные. то сервер имен хранит имя и адрес как минимум одного сервера имен из корневого административного региона и из каждого непосредственного подрегиона.Сервер имен Oracle 109 Такой подход хорошо работает в небольших системах.ora. Имена сетевых служб Сервер имен Oracle будет хранить имена сетевых служб.1.

2. Вашей базе данных присвоено имя SKDL.домен_базы данных.xyzcorp. называется us. кто работает в сети Теперь наступило время подробнее рассказать о глобальных связях баз данных. Глобальная связь базы данных дает возможность связать каждую базу данных.com. Когда все они связаны между собой. Когда сервер имен получает глобальное имя базы данных от прослушивающего процесса. он автоматически регистрирует у себя глобальную связь базы данных. указав глобальное имя этого объекта в SQL-операторе или в определении объекта. Вернемся к глобальным связям баз данных.COM. что ваша компания называется XYZ Corporation и занимается коммерческой деятельностью в Соединенных Штатах. параметр инициализации global_namcs в файле init. Типы связей баз данных Связь базы данных Тип доступа Частная связь базы данных в конкретной схеме базы данных Может использоваться только владельцем схемы Общая связь базы данных Может использоваться всеми пользователями базы данных Глобальная связь базы данных на сервере имен Oracle Может использоваться всеми. Допустим. со всеми остальными базами данных этой сети. Создание глобальной связи базы данных Прежде всего выясним. В этом случае полным именем базы данных будет SKDL.110 Глава 4 Таблица 4. к которому принадлежит эта база данных. Вам не нужно предпринимать никаких действий . Таблица 4.US. Псевдонимы регистрируются на сервере имен с помощью утилиты Names Control или инструмента Net8 Assistant. хранимые сервером имен Oracle Данные Описание Псевдонимы Сервер имен Oracle может хранить псевдонимы (альтернативные имена) для любого имени сетевой службы.XYZCORP. Домен Oracle. Теперь посмотрим. Вспомним о том.1 (продолжение) Данные. службы базы данных или глобальной связи базы данных. что происходит при использовании сервера имен Oracle. какие функции выполняют глобальные связи баз данных. Чтобы в глобальной связи можно было использовать глобальное имя базы данных.ora должен иметь значение TRUE. что такое глобальное имя базы данных. находящуюся в сети. Глобальное имя используется для уникальной идентификации базы данных и записывается в виде имя_базы_данных. В этом случае при регистрации базы данных прослушивающий процесс сохранит ее глобальное имя. любой пользователь сети может получить доступ к любому глобальному объекту.

5. Сервер имен Oracle опрашивает прослушивающий ПрОЦвС«й»вТ чтобы узнать о наличии новых регистрационных данных. что вы хотите использовать стандартный прослушиваемый адрес TCP/IP.ora вашей базы данных как значение параметра service_name. Последняя операция выглядит следующим образом: LJ select * f rom EMPLOYEE@SKDL.COM. к которому нужно добавить глобальную связь базы данных. хост-машиной является SKINGWAD.ora вы устанавливаете global_names = TRUE и указываете глобальное имя базы данных: service_name = SKDL.COM.Сервер имен Oracle 111 для регистрации или создания этой связи.US. При запуске база данных регистрируется в прослушивающем процессе. Сервер имен Oracle получает от прослушивающего процесса глобальное имя базы данных.XYZCORP. 1.com -d . Вы можете создать глобальную связь базы данных самостоятельно. в котором используется эта связь. . Но откуда берется глобальное имя? Оно должно быть помещено в файл init. используя указанное вами глобальное имя. Итак. а в системе Windows NT выбрать пункт меню Start >• Programs >• OracleORACLE_HOME >• Network Administration >• Net8 Assistant. В системе UNIX для этого нужно ввести команду netasst из $ORACLE_HOME/bin. Выберите сервер имен Oracle. 4. Сервер имен Oracle создает глобальную связь базы данных. Щелкните на вкладке Links (Связи) и выберите Add (Добавить). В панели навигатора раскройте список Oracle Names Servers^ щелкнув на значке плюса {+). В файле init. В качестве протокола указан TCP. выполните следующие действия: 1.xyzcorp. Запустите Net8 Assistant.XYZCORP. 2. 2. Выберите пункт Manage Data (Управление данными) в списке на правой панели. где EMPLOYEE — это глобально определенный объект. проследим всю цепочку действий. Чтобы создать глобальную связь базы данных с помощью инструмента Net8 Assistant. . вводя оператор select. (description=(address=(protocol=tcp)(host=skingwad)(port=1521))) Параметр -d показывает. 5.us. 6. 3. вызвав утилиту Names Control и введя информацию о связи: Q $ namesctl NAMESCTL> register skdl. 4. 3. а порт имеет номер 1521. Вы проверяете функционирование связи.US.

Множественные связи использовались для доступа к разным схемам или для обращения к другим базам данных из одной или нескольких схем локальной базы данных. чтобы глобальные объекты могли автоматически разделяться между всеми пользователями сети. принимая решение о том. то сервер имен Oracle будет использовать для разрешения имен эту частную или общую связь вместо глобальной.112 Глава 4 6. Внимание Если параметр global_names в файле параметров инициализации (init. . Глобальные связи баз данных и безопасность Если вы не хотите указывать имя пользователя и пароль для глобальной связи базы данных. Если же вы хотите иметь гарантию. которым это положено. Корпорация Oracle рекомендует создавать глобальную связь для каждой сетевой базы данных. и корпорация Oracle теперь рекомендует иметь не более одной глобальной связи для каждой базы данных. что и у глобальной связи. привилегии которой позволяют создавать глобальную связь базы данных. Щелкните на кнопке Execute (Выполнить) для создания связи. Квалификаторы связей баз данных В предыдущих версиях Oracle нередко создавалось по нескольку связей в одной базе данных. Для управления доступом к объектам предусмотрен механизм квалификаторов связей (link qualifiers). с помощью которого можно задавать альтернативные установки для имени пользователя и пароля. 9. Глобальная связь базы данных может иметь любое количество квалификаторов. Выберите пункт меню File >• Save Network Configuration (Файл >. нашей следующей темой будут квалификаторы связей баз данных. Введите в полях User и Password имя пользователя и пароль учетной записи. Следовательно. Если пользователь с подходящими привилегиями создаст частную или общую связь базы данных с тем же именем. то введенное имя глобальной связи должно быть глобальным именем базы данных. зарегистрированной на сервере имен. какая информация будет разделяться глобально и к каким объектам будет разрешен доступ всех пользователей сети. созданными отдельными пользователями. то дальнейшее конфигурирование не требуется.Сохранить сетевую конфигурацию). Однако рекомендую вам проявлять большую осмотрительность.ora) имеет значение TRUE. В OracleSi подход изменился. 8. то необходимо реализовать управление доступом. 7. Введите имя глобальной связи базы данных в поле DB Link Name. что к глобальным объектам будут обращаться только те пользователи. Глобальные связи баз данных могут замещаться частными и общими связями.

4. Для этого вы можете добавить к глобальной связи skdl. 3. Выберите сервер имен Oracle. 11. Добавление квалификатора связи Хотя имя и пароль для глобальной связи можно зарегистрировать с помощью утилиты Names Control. Введите в первом поле название квалификатора. Щелкните на вкладке Links и выберите действие Add. В панели навигатора раскройте список Oracle Names Servers. На экране появится отдельное окно DB Qualifiers. Щелкните на кнопке Execute (Выполнить) для модификации связи.com квалификатор. а в системе Windows NT выбрать пункт меню Start *• Programs >• Oracle HOME_NAME >• Network Administration >. Выберите опцию DB Qualifiers в нижней части экрана. 5 Зак.XYZCORP. 7. и только после правильного ввода соединение будет окончательно установлено. необходимыми для работы с глобальными связями. выполните следующие действия: 1. Повторите шаги с 6-го по 8-й столько раз.Net8 Assistant. чтобы сохранить сделанные изменения. требующий ввода имени пользователя и пароля. 726 . 2.Сервер имен Oracle 113 Допустим. 6. Запустите Net8 Assistant. сколько квалификаторов вам нужно добавить.us. эта утилита не обладает всеми функциями.COM@EMPLOYEE В ходе обработки запроса на соединение у пользователя будут запрошены имя и пароль. После того как квалификатор связи определен.xyzcorp. 8.US. можно соединяться с удаленной базой данных: (J connect @SKDL. 10. вам нужно управлять доступом к таблице EMPLOYEE. В системе UNIX для этого нужно ввести команду netasst из $ORACLE_HOME/bin. Чтобы добавить имя пользователя и пароль к глобальной связи базы данных. Введите в полях User и Password имя пользователя и пароль для данной связи и щелкните на кнопке ОК. В следующем разделе я покажу. щелкнув на значке плюса (+). Выберите пункт Manage Data в списке на правой панели. Выберите пункт меню File >• Save Network Configuration. как определяются квалификаторы связей. 9. 5. и корпорация Oracle рекомендует использовать вместо нее Net8 Assistant. к которому нужно добавить глобальную связь базы данных.

хранящиеся на сервере имен Oracle. Таким образом. а не по именам служб. где нет дублирования имен служб или связей баз данных.WORLD. Каждый объект в сети должен иметь уникальное имя.114 Глава 4 Модели именования Oracle В самом начале этой главы говорилось об именах и о нашей склонности всему давать свое имя. поставщиках и т.WORLD. вы можете продолжать использовать имя . в которую заносится информация о заказах. В предыдущих версиях сетевых средств Oracle этому единственному домену присваивалось стандартное имя . Допустим. чем модель иерархического именования.д. Разумеется. 4. для идентификации используются имена служб.2. Хотя в Net8 и Oracle Names версии 8 такого требования больше нет.) Теперь поместим эти базы данных в среду с однодоменным именованием. Домен . Эта модель хорошо подходит для небольшой сети. деталях. Давайте посмотрим.2. что корпорация XYZ выпускает три вида продуктов. принадлежат к одному домену. для каждой из производственных баз данных существуют база данных разработки и база данных для тестирования/контроля качества. С одной из этих баз данных. (В предыдущих версиях Oracle базы данных идентифицировались по SID. К этим объектам относятся и базы данных. SKDL.WORLD. SKDL превращается в SKDL. Рассмотрим пример. В нашем случае домен будет называться . чем они отличаются. и это действительно так.WORLD SKDL SKDLDEV SKDLTST RMFS RMFSDEV RMFSTST DCSS DGSSDEV DGSSTST Рис. модель однодоменного именования должна быть проще. а две другие называются RMFS и DGSS. Для каждого из этих продуктов ведется своя база данных. 4. мы уже встречались раньше. Поскольку все они построены на основе OracleSi. Модель однодоменного именования Судя по названию. Однодоменное именование . При использовании серверов имен Oracle дела обстоят таким же образом. Его графическое представление приведено на рис. Все имена. Для идентификации имя домена присоединяется к имени службы. В сети серверов имен Oracle можно использовать две различные модели именования объектов: модель однодоменного именования (Single Domain Naming) и модель иерархического именования (Hierarchical Naming).WORLD для совместимости с прежними соглашениями об именовании.

Точно так же. 4.4. генеалогическое дерево представляет собой иерархическую структуру.3.Сервер имен Oracle 115 Модель иерархического именования Вы когда-нибудь составляли генеалогическое дерево? Обычно оно выглядит примерно так. Пример генеалогического дерева Как видите. Чтобы это было понятнее. Там изображено генеалогическое дерево вымышленного рода. представляющих разные базы данных. как показано на рис. Посмотрите на второй и третий (самый нижний) уровни: там показаны две пары людей с одинаковыми именами: Duwap Tzcn и Pocus Abe. представляющие разных людей. а на третьем — внуки. "Ну и что? — скажете вы. Удивительно. Показанная структура позволяет добавлять в каждый домен другие имена при . Подобная структура называется иерархической. дерево начинается с одной пары родителей. Иерархическое структ у р и р о в а н и е б о л ь ш о й сети служит залогом будущего роста и обеспечивает большую гибкость при именовании объектов. Итак.4 все представители рода распределены по четырем доменам: один корневой домен семьи Tzcn и три домена детей. Каждый уровень обязан своим существованием вышележащему уровню. вы правы. В сети Oracle вы можете использовать модель иерархического именования для распределения имен по разным регионам. преобразуем наше генеалогическое дерево в иерархическую доменную структуру.З. 4. Рядом с именами Женатых членов семьи приведены имена их супругов. при иерархическом именовании возможно наличие одинаковых локальных имен. 4. Конечно. как в генеалогическом дереве могут встречаться одинаковые имена. 4. если оно совпадет с вашим! Jago Hmum / Hammy Tzcn Bebop Shuz / Duwap Tzcn Kudzo Knee / Duwap Tzcn Рис. Разные представители рода находятся на разных ветвях. На рис. Взгляните на рис. На втором уровне показаны их дети. Это действительно разные люди. — Ведь они принадлежат к разным поколениям".

При использовании метода иерархического именования создается множество связей "предок-потомок". В прежних версиях сетевых инструментов можно было создавать графическое представление модели имен Oracle. к какому домену принадлежит каждая база данных. Вы получаете больше возможностей для расширения модели. Каждый домен имеет свое имя и содержит внутри себя другие имена. разрешив им управлять своими регионами. то вы. но вместе с тем на вас возлагается дополнительная обязанность — следить за тем.116 Глава 4 Семейство Tzcn Jago Hmum/Hammy Tzcn Корневой домен Дети Shuz/Tzcn HelliaTzcn Kudzo Knes/Duwap Tzcn Имя домена k fleTO НтитЯгсп ^ Bebop Shuz/Duwap Tzcn Hocus Tzcn/Pocus Abe Дети Tzcn/Pocus Mydo Abe Pocus Abe Itsy Bitty/Hairy Abe Имена внутри домена Рис. захотите распределить работу по администрированию между локальными группами. Наглядно представить связи между доменами помогает графическая схема. но вам все равно стоит набросать схему сетевой конфигурации. представленное в виде иерархии доменов рождении новых членов семьи. В OracleSi эта возможность отсутствует. вероятно. Множественные административные регионы В каких случаях нужно использовать иерархическое именование вместо однодоменного? Если сеть имеет большие размеры' или распределена по большой территории. Это позволит передать домены под контроль административных регионов и назначить ответственных за управление каждым регионом. Обеспечить локальное управление какой-либо областью сети при использовании серверов имен Oracle можно только путем реализации иерархического именования. . 4. Генеалогическое дерево.4. а также размещать новые домены под уже существующими при появлении следующих поколений.

в свою очередь. Эти три домена объединяют вице-президентов.EURO. каждому клиенту присваивается так называемый домен по умолчанию (default domain). а другой — на Дальнем Востоке. Корневой административный регион с тремя доменами также расположен в США. Если существует несколько разных доменов в разных административных регионах и несколько баз данных с одним и тем же именем. Ваш менеджер подчиняется менеджеру группы. что каждый клиент должен квалифицировать запрос на соединение полным именем домена? Да. поэтому попробуем внести ясность.Сервер имен Oracle 117 Подумайте вот над каким вопросом. то запрос на соединение должен быть квалифицирован полным именем домена. Как видно из рис. то в ней наверняка сформировалась управленческая иерархия. существует уже много лет. и имя домена по умолчанию будет автоматически присоединено к имени службы или связи базы данных. а также один и более делегированных административных регионов. Если же вы хотите соединиться с базой данных в европейском домене EURO. в вашей пользовательской конфигурации указан домен по умолчанию US. поскольку он не является вашим доменом по умолчанию. каждый из которых. клиент может не указывать его имя. Как правило. Корпорация XYZ представлена корневым доменом. На рисунке показаны два делегированных региона: один расположен в Европе.XYZCORP. не добавляя никаких квалификаторов. Если компания.COM. в нашем случае корневой регион . Обращаясь к сетевой службе в пределах этого домена. как это происходит.5. то как клиент сможет узнать. Когда вы обращаетесь с запросом к службе SKDL. необходимо указать имя SKDL. Над менеджером группы стоит руководитель отдела.COM. Допустим.".XYZCORP. в которой вы работаете. менеджеров и служащих. Глава компании обладает доступом ко всем ее областям. и результирующая строка соединения приобретает вид SKDL.US. а делегированные административные регионы — директорам. Взгляните на рис. В сети с множественными административными регионами создается один корневой регион.COM. в котором выполняется большая часть его запросов.COM. На самом верхнем уровне этой иерархии находится человек. Он содержит корневой домен. какую строку соединения использовать для соединения с нужной базой данных? Вы говорите. или регионам. Посмотрим.5. возглавляющий компанию (или группа таких людей). Корневой административный регион должен содержать как минимум один домен.XYZCORP. этот корневой домен расположен в США. Иначе говоря. чтобы соединиться с базой данных европейского отделения компании. 4. это очень близко к правильному ответу. содержит один и более доменов. Согласно рисунку. клиент может опустить квалификатор ". Это звучит не слишком понятно. 4.XYZCORP. Руководитель отдела отчитывается перед директором или вице-президентом. Таким образом. Каждый делегированный регион содержит два домена — домен менеджеров и домен служащих. Корневой административный регион можно уподобить главе компании. за работой которого следит менеджер отделения. имя SKDL автоматически дополняется именем домена по умолчанию.

Корневой и делегированные административные регионы содержит более одного домена. входящие в регион Рис. а также домены и серверы имен делегированных регионов. а также серверы имен и домены нижестоящих регионов. корневой административный регион будет содержать принадлежащие ему серверы имен Oracle. Корневой регион передает им полномочия на управление доменами. Делегированный административный регион. считаются делегированными. расположенные ниже корневого. при наличии семи доменов у вас может быть от одного до семи административных регионов. Разумеется. связи баз данных и псевдонимы. может передать полномочия на управление доменом делегированному региону более низкого уровня иерархии. Наконец.118 Глава 4 Корневой административный регион I Американские вице-президенты Делегированные административные регионы Домены. необходимую для связи с другими . чтобы получать информацию. включая все имена служб баз данных. корневой регион будет содержать относящиеся к нему определения данных. Кроме того. Например. Вы можете разделить сеть любым способом. 4. Подробнее о делегированных регионах Любые административные регионы. в свою очередь. Каждый делегированный административный регион содержит все принадлежащие ему серверы имен Oracle и домены. делегированный регион должен также хранить адреса серверов имен корневого региона.5. логичным с точки зрения администрирования.

в системе UNIX нужно перейти в каталог $ORACLE_HOME/network и поискать файл namesini. Внимание Если для сервера имен Oracle используется машина с UNIX. Даже если у вас уже установлен Oracle Enterprise Server 8. Корпорация Oracle рекомендует устанавливать сервер имен Oracle на отдельной машине. вы уже могли сделать выбор между однодоменным и иерархическим методами именования./ -name namesini.6. каждый делегированный регион хранит относящиеся к нему определения данных — имена служб баз данных. Его нужно создать вручную перед началом конфигурирования. Конфигурирование сервера имен Oracle К этому моменту вы должны были определить. . Конфигурирование сети Oracle можно выполнять с помощью различных инструментов: Net8 Assistant. есть вероятность.Сервер имен Oracle 119 регионами. Его отсутствие говорит о том. то выбраны ли местонахождение и имя корневого административного региона и его домена? Определены ли границы всех делегированных административных регионов? В случае утвердительного ответа на эти вопросы можно устанавливать программное обеспечение и приступать к конфигурированию. Вам также потребуется установить клиентскую часть Net8 или SQL*Net на каждой клиентской машине и серверную часть Net8 или SQL*Net на сервере. Установку следует выполнять в соответствии с документацией на сервер имен Oracle для вашей конкретной платформы.sql из того же каталога. что вам больше подходит: непрерывное тиражирование регистрационных данных служб между серверами имен Oracle или хранение данных всех региональных серверов имен в базе данных Oracle. Подобно корневому региону. Какой из них использовать для конфигурирования сервера имен Oracle? Чтобы ответить на этот вопрос. Net8 Configuration Assistant и утилит Control.1. Кроме того. Чтобы это проверить. то программа установки (Oracle Universal Installer) не создаст необходимый каталог $ORACLE_HOME/network/names. можно запустить сценарий namesupg. чтобы произвести обновление с версии 1 или 2 до Net8. где нет никаких других служб или серверов. Если в системе уже присутствует структура сервера имен Oracle.sql: [J find .sql -print В системе Windows NT этот файл должен находиться в папке ORACLE_HOME\network\names. Если решено использовать метод иерархического именования. связи баз данных и псевдонимы. что сервер имен не устанавливался. что сервер имен Oracle не был установлен. кратко рассмотрим каждый из инструментов.

Он автоматически запускается при установке программного обеспечения Oracle.ora. базовый. либо на сервере имен Oracle. можно вообще обойтись без конфигурирования! Если имя этого сервера сконфигурировано в файле names. останова и настройки сконфигурированного сервера имен Oracle. который будет рассмотрен в главе 9. В OracleSi для этого можно использовать утилиту SQL*Plus. так и на сервере. NetS Configuration Assistant можно также запускать вручную в автономном режиме. которые будут использоваться клиентами для разрешения идентификаторов соединений. которую мы рассмотрим далее в этой главе. NetS Configuration Assistant.) • Методы именования.120 Глава 4 Инструменты конфигурирования и управления Net8 Assistant. то стандартный сервер имен Oracle будет называться ONAMES_MYPC.ога есть соответствующая запись. Если он в данный момент не функционирует. о которой говорилось в главе 3. чтобы обеспечить конфигурирование имен и адресов прослушивающих процессов. По умолчанию сервер ONAMES_<xocT> будет прослушивать порт 1575 протокола TCP/IP на локальном хосте или на другом фиксированном хосте. если ваша машина называется MYPC и в файле names. относящейся к серверу имен. используемые для разрешения идентификаторов соединений в дескрипторы соединений Net8 Assistant можно использовать для запуска. запустите его. Когда вам нужен простой. стандартный сервер имен. Введите в строке приглашения операционной системы: . Хранение информации в базе данных Если вы решили хранить информацию сервера имен Oracle в базе данных. отображаемые в дескрипторы соединений (Эти отображения хранятся либо в файле tnsnames. Набор утилит Control состоит из утилиты Listener Control (Isnrctl). Как вы думаете. либо в централизованной LDAP-совместимой службе каталогов. Таким образом. NetS Assistant позволяет конфигурировать или определять: • Прослушивающие процессы • Простые имена и идентификаторы соединений. а также для сбора статистики. а также методов именования. соединившись с базой данных под именем INTERNAL.— это инструмент с графическим интерфейсом пользователя (GUI). утилиты Names Control (namesctl). имен сетевых служб в файле tnsnames. и утилиты Connection Manager Control (cmctl). способов доступа к серверу каталога.ora. то в первую очередь необходимо сконфигурировать сервер базы данных. речь о которой пойдет в главе 10. Его можно запускать как на клиентской машине. какой инструмент следует выбрать для конфигурирования сервера имен Oracle? На самом деле это каверзный вопрос. предназначенный для конфигурирования сетевых компонентов и управления ими. то оно будет иметь вид ONAMES_<xocT>. подробно рассматриваемый в главах 7 и 8.ога. предназначен для конфигурирования основных сетевых компонентов.

Создание сервера имен Oracle с помощью Net8 Assistant Чтобы создать сервер имен Oracle. Щелкнув на знаке вопроса (?). не выходя из SQL*Plus. когда таблицы существуют. Вдоль верхнего края экрана расположены четыре раскрывающихся меню: File. используя Net8 Assistant. Теперь. В противном случае экраны . При описании дальнейших шагов предполагается. 4. В системе UNIX вам потребуется ввести: Q connect NAMES/NAMESPW @$ORACLE_HOME/network/admin/namesini. Command и Help. Для выполнения отдельных задач можно пользоваться либо этими меню. как здесь. Q create user NAMES identified by NAMESPW default tablespace USERS temporary tablespace TEMP. что в вашей среде еще не создавались серверы имен Oracle. допускающей создание объекта.sql. Знак плюса (+) становится зеленым при выборе опции. На рис. либо пиктограммами. вы не должны делать свой пароль таким же очевидным.Сервер имен Oracle 121 Q $ sqlplus SQL> connect INTERNAL/PASSWORD (если для пользователя INTERNAL установлен пароль) SQL> startup. что объект может быть удален. В этом сценарии предполагается. что сервер или службу можно протестировать. которое было создано на предыдущем шаге. На машине с UNIX вы должны перейти в каталог $ORACLE_HOME/bin и ввести Q run netasst Для запуска Net8 A s s i s t a n t в W i n d o w s NT (предположив. а буква X показывает. Она будет использоваться для хранения таблиц сервера имен. Обратите внимание на четыре пиктограммы в верхней левой части экрана. Разумеется. Затем. вы должны создать учетную запись с паролем. что ваша база данных имеет два табличных пространства — USERS и TEMP. Для примера выберем имя пользователя NAMES и пароль NAMESPW. Таблицы сервера имен Oracle создаются с помощью сценария namesini. что $ORACLE_HOME = OraHomeSl) нужно выбрать пункт меню Start >• Programs >• Oracle OraHomeSl >~ Network Administration >• NetS Assistant.sql. Для запуска этого сценария нужно соединиться с SQL*Plus под тем именем. вы получите справку. расположенного в каталоге $ORACLE_HOME/network/admin (на машине с UNIX) или ORACLE_HOME\network\admin\names (на машине с Windows NT). Третья пиктограмма (диск с галочкой) показывает. можно создавать серверы имен Oracle.6 показан начальный экран NetS Assistant с выбранной опцией Oracle Names Servers. необходимо в первую очередь запустить Net8 Assistant. Edit.

3. Таблицы этой базы данных должны быть созданы до запуска мастера имен • Адрес протокола для прослушивающего процесса базы данных. Мастер имен предложит указать: • Уникальное имя сервера имен Oracle • Адрес протокола для нового сервера имен. которая будет использоваться для заполнения таблиц. В панели навигатора выберите опцию Oracle Names Servers. хранящего информацию в базе данных.) • Имя пользователя и пароль учетной записи. а также имя службы или SID . Выберите пункт Create (Создать) в раскрывающемся меню Edit или щелкните на кнопке со знаком плюс (+) в верхней левой части окна. Для создания сервера. (В случае TCP/IP корпорация Oracle рекомендует использовать стандартный порт 1521. Начальный экран Net8 Assistant с выбранной опцией Oracle Names Server будут выглядеть по-другому. 4. При этом запустится мастер имен (Names wizard).6. чтобы создать новый сервер имен Oracle.122 Глава 4 Рис. выберите "Use a region database" ("Использовать региональную базу данных"). (В случае TCP/IP корпорация Oracle рекомендует использовать стандартный порт 1575. После запуска Net8 Assistant выполните следующие действия: 1. 2.) • Будет ли информация об именах храниться в базе данных или тиражироваться между серверами имен.

) 6. has been created with default settings. Use the Configuration Server section to modify the default configuration". На рис.7 показано окно Net8 Assistant с одним сконфигурированным сервером имен Oracle. •-. (На рис. вы обнаружите. ("Сервер имен. а для SID указано значение ORCL • Будет ли данный сервер имен Oracle принадлежать к корневому административному региону 4. что он превратился в знак плюса (+).) Внимание • . обнаружила. Выберите пункт меню File >• Save Network Configuration (Файл >• Сохранить сетевую конфигурацию). то мастер имен завершит свою работу.7 показано.ога. но щелкнув на знаке минуса (-) рядом с опцией Oracle Names Server в панели навигатора. . как выглядит экран со вновь созданным сервером имен. и дополнительно предложит ввести имя домена локального административного региона и адрес сервера имен корневого региона. был создан с параметрами по умолчанию. что после завершения работы мастера имен вы увидите следующее сообщение: "A Names Server. Вы можете создать и другие серверы имен Oracle. В противном случае мастер решит. Затем я щелкнула на знаке плюса.Сервер имен Oracle 123 базы данных. Используйте раздел Configuration Server для изменения конфигурации по умолчанию". 4. 4. что Net8 Assistant создал файл с именем names. onames_server. и появился новый сервер имен Oracle.. что сервер принадлежит к делегированному административному региону. .3. В документации Oracle сказано. В данном примере выбрано имя NAMES и пароль NAMESPW. 5. перечисленные в таблице 4. Внимание Net8 Assistant не поддерживает создание более чем одного сервера имен Oracle на одной машине. onames_server. Как минимум в нем будут присутствовать параметры и значения. повторив шаги со 2-го по 6-й. Создав свой первый сервер имен Oracle (или несколько серверов) и выйдя из программы. Если вы обозначили создаваемый сервер как корневой. : Я не получила такого сообщения о завершении.

При описании этих шагов предполагается. который будет использоваться для администрирования домена. 1.addresses Адрес.3.124 Глава 4 А 0 wait time cancels an already scheduled operation Operation I Setver Operations Рис. то с помощью Net8 Assistant можно определить дополнительный домен (или домены). 3. чтобы регион содержал более одного домена. Щелкните на опции Oracle Names Servers в панели навигатора. Выберите сервер имен.serverjiame Имя сервера имен Oracle names.adminjegion Информация о базе данных Полный список параметров names.ora Параметр Значение names.7. В списке на правой панели выберите пункт Configure Server (Конфигурирование сервера). Конфигурирование множественных доменов Если вы используете метод иерархического именования и хотите. 4. 2. Окно Net8 Assistant с одним сервером имен Oracle в панели навигатора Таблица 4.ora вы сможете найти в приложении В. Щелкните на вкладке Domains (Домены). . что вы не выходили из инструмента и соединены с ним. прослушиваемый сервером имен Oracle names. Минимальное содержимое файла names. 4.

если нужно добавить другие домены. 6. что вместо "Use a region database" в мастере имен нужно указать "Don't use a region database". Имена файлов и типы хранимой в них информации приведены в таблице 4. При отсутствии в регионе других серверов имен данные в файле региональной контрольной точки рассматриваются как текущие. Закончив добавление доменов. выберите пункт меню File >. Теперь. На машинах с UNIX они находятся в каталоге $ORACLE_HOME/network /names. Информация. Это делается либо через Net8 Assistant.ora ckpcch. Таблица 4.Save Network Configuration. При использовании региональной базы данных этот файл контрольной точки представляет собой копию таблиц по состоянию на момент последней перезагрузки. периодически записывается в дисковые файлы. хранящаяся в кэше сервера имен. Файлы конфигурации сервера имен Oracle Имя файла ckcfg. Процедура создания сервера имен будет отличаться от описанной выше только тем. либо с помощью утилиты Names Control (namesctl).ora Назначение Содержит резервную копию параметров конфигурации. сервер имен Oracle может хранить информацию об именах в кэше (области памяти) и тиражировать новую информацию на другие серверы имен. введя полную команду. При использовании утилиты Names Control можно запустить сервер двумя способами: либо из строки приглашения операционной системы. нужно научиться его запускать. Значение по умолчанию — 86400. Таких файлов три. а на машинах с Windows NT — в каталоге ORACLE_HOME\network\names. Введите в поле Domain Name имя домена. при вводе полной . В этом случае файл приводится в соответствие с последними обновлениями региона. TTL) и щелкните на кнопке Add.ora ckpreg. которые были получены из удаленных регионов и еще не потеряли актуальности. Повторите шаг 5-й. которое будет присвоено параметру min_ttl. затем укажите время жизни (time-to-live. Подробнее о кэш-памяти сервера имен Oracle Как уже упоминалось. когда при запуске сервера имен база данных недоступна. Правда. Его данные используются в том случае. хранимых в таблице ONRS_CONFG региональной базы данных. когда вы создали как минимум один сервер имен Oracle. Время жизни — это число. этот файл является единственным долговременным хранилищем информации и загружается при запуске сервера.4. 7.4. Содержит все текущие неподтвержденные данные.Сервер имен Oracle 125 5. либо из самой утилиты. Если сервер имен Oracle не использует базу данных. Содержит все подтвержденные данные для региона.

3..имен. Выберите опцию Start. • | Pause Continue I Stajtup. и выполните следующие действия: 1. В панели навигатора раскройте раздел Oracle Names Servers.OracleOraHomeSl. 5. принадлежащего к домену . 4. А пока запустим сервер имен Oracle непосредственно из этой утилиты. войдите в этот инструмент. При запуске сервер считывает в память свою конфигурацию и данные.aHome81CMAdmn OractoOraHome81DataGatherer OrMleOraHonrie81ManagementServ«^ "'' ^1 OracleOiaHomeSITNSListener Startup Manual Manual | CSS 3 Sjtait Stop Manual Manual i •KfflfflRflHHfflHB^HI 1 Started Manual QracleWebAssistantO Manual II ..8.world. 2. Эта команда загружает сервер имен Oracle в память и запускает его. имм^^^^н1 Status Service OtacleOiaHomeBI OienlCache Orade0.. Щелкните на вкладке Control.Глава 4 126 команды возникает одна проблема: вы запустите тот сервер . который нужно запустить.«. Выберите пункт Manage Server (Управление сервером) в списке на правой панели. в разделе. нужно ввести в строке приглашения операционной системы следующее: Q namesctl При запуске утилиты вы можете увидеть предупреждения. Q NNL-00024: warning: no preferred names servers in SQLNET. имя службы будет иметь вид OracleOraHomeSlNamesORCL. ) Startup Parameters: Г" Help Рис. 4.. Для сервера ORCL с ORACLEJHOME . На них можно не обращать внимания.world (речь идет о Windows NT). I НЩ Profiles. как описывалось выше. 4. Чтобы ее вызвать. Окно Services с выделенной службой имен Oracle Чтобы запустить сервер имен через Net8 Assistant. Подробнее эта проблема рассмотрена чуть позже.ORA •NNL-00018: warning: could not contact default name server После входа в утилиту приглашение изменится на Q NAMESCTL> Теперь следует ввести команду start.. который установлен в качестве корневого для данного административного региона. . посвященном утилите Names Control. На рис.-.8 показано окно Services с выделенной службой имен Oracle. показанные ниже. Выберите сервер имен.

Независимо от используемого инструмента первый этап этого процесса состоит в обнаружении какого-нибудь одного сервера имен. либо сервер. Этот адрес жестко кодируется у клиентов и на сервере. то Net8 Assistant предложит ввести адрес известного сервера имен Oracle. Следующий вариант — использование адреса фиксированного сервера имен Oracle. этот процесс называется обнаружением (discovery). После того как служба зарегистрировалась . Последняя возможность — поиск локального сервера имен Oracle. А что интересного обнаружили вы за последние несколько недель? Чтобы составить список своих недавних открытий.ora. и вам придется повторно ввести команду с указанием известного адреса.ora. доступные в Net8 При установке сервера имен Oracle версии 8 можно либо использовать текущую конфигурацию версии 1 или 2. Как происходит обнаружение? Сначала предпринимается попытка найти информацию о предпочтительном сервере имен Oracle в файле sqlnet. вымыв посуду. что он может обрадовать меня. отсортированный по времени отклика.) Если вы работаете на машине с Windows NT. В этой версии сервера имен Oracle служба может регистрироваться на любом найденном сервере. использующего порт 1575 протокола TCP/IP.sdns. Предпочтительным сервером считается либо ближайший к клиенту физический сервер. Щелкните на кнопке Apply (Применить). После запуска сервера вы должны увидеть следующее сообщение: Server started successfully. либо задействовать новые возможности. Release 2.6. то будет создана соответствующая служба. а в системе Windows NT — в файле sdns. доступный через наиболее "дешевую" сетевую связь.1. вам придется порыться в памяти или попросить кого-нибудь помочь. доступные в Oracle8.Сервер имен Oracle 127 6. то что именно?" Когда клиент или один из серверов имен Oracle создает список всех серверов имен Oracle. Затем он опрашивает все остальные серверы имен своей области и создает их список. Для моего мужа недавно стало открытием. (Сервер успешно запущен. Если ни один из трех перечисленных подходов не даст результата. Получить информацию о всех серверах имен Oracle можно с помощью Net8 Assistant или утилиты Names Control.ora. К сожалению. Например. утилита Names Control в такой же ситуации выдаст сообщение об ошибке. что в Интернете можно получать информацию о курсе принадлежащих мне акций. при котором область поиска не ограничивается единственным регионом или доменом. Об открытиях На днях я обнаружила. В системе UNIX этот список хранится в файле . В число этих возможностей входит динамическое обнаружение (Dynamic Discovery). вы можете спросить своего друга: "Удалось ли нам узнать что-нибудь новое за последние несколько недель? Если да. Новые возможности.

а также просматривать и модифицировать их параметры. а пока посмотрим. quit и help) Эти команды позволяют централизованно управлять всеми серверами имен Oracle.) Команды модификации (set <свойство>) Информационные команды (status. как выполняется миграция с локального именования на сервер имен Oracle. Хотя сервер имен Oracle версии 8 можно сконфигурировать так. . то можете сконфигурировать клиент так. Для вызова этого инструмента нужно ввести в строке приглашения операционной системы следующее: U $ namesctl Если вы не укажете после namesctl команду. Если информация хранится в базе данных Oracle. либо "изнутри" утилиты. В новой версии Net8 процедура обнаружения используется для создания списка серверов имен Oracle. вы можете вводить команды либо с уровня операционной системы.д. то войдете в утилиту и увидите следующее приглашение: Q NAMESCTL> В этой утилите доступны команды следующих типов: • • • • Операционные команды (stop. Подробно описаны различные команды будут позже. ее имя и адрес становятся доступны остальным серверам имен Oracle. который выполнит соответствующий запрос. restart и т. либо посредством тиражирования. утилита Names Control (namesctl) позволяет запускать серверы имен Oracle и управлять ими. Если же информация хранится в кэше сервера имен. Этот метод заменяет ручное конфигурирование. корпорация Oracle рекомендует задействовать эту возможность. чтобы он запускал кэширующий процесс. . start. с которыми может контактировать клиент. применявшееся в предыдущих версиях. что он не будет использовать базу данных с информацией о топологии. < Утилита Names Control (namesctl) Подобно утилите Listener Control (Isnrctl). Серверы могут получить доступ к информации о службе двумя способами: либо через региональную базу данных. запускаемой из строки приглашения операционной системы для управления прослушивающими процессами Oracle.128 Глава 4 самостоятельно или была зарегистрирована администратором. . Как и при использовании Listener Control. В кэш будут помещаться адреса баз данных. . show <свойство> и ping) Собственные команды утилиты (exit. . адреса серверов имен Oracle и прочая необходимая информация. то она незамедлительно тиражируется на другие серверы. создающий клиентскую версию данных. Если вы хотите сократить время поиска адреса через серверы имен Oracle. то ее может получить любой сервер имен. хранимых на сервере имен.

В поле File введите путь к текущему главному файлу конфигурации tnsnames. Add (Добавить). При выборе опции Manage Data по умолчанию отображается вкладка Net Service Names (Имена сетевых служб). либо утилиту namesctl. . На практике миграцию намного проще выполнить с помощью утилиты Names Control. 9. щелкнув на знаке плюса (+). Configure Server. введя в строке приглашения операционной системы namesctl 2. Щелкните на Load. В верхней части правой панели находится раскрывающийся список. К возможным действиям. Иными словами. на который нужно загрузить файл tnsnames. Выберите пункт меню File >• Save Network Configuration. Запустите Net8 Assistant. 7. В строке приглашения NAMESCTL ввести NAMESCTL> load_tnsnames tnsnames.ora. Как и в предыдущей процедуре. Remove (Удалить) и Load (Загрузить).ora. использовав для выполнения миграции либо Net8 Assistant.ora. 8. Выберите опцию Manage Data (Управление данными). 3.ora При желании вы можете загрузить файл с помощью Net8 Assistant. В панели навигатора раскройте список Oracle Names Servers. Соответствующие шаги описаны ниже. 2.Сервер имен Oracle 129 Миграция с tnsnames. Чтобы загрузить файл tnsnames. 4. относятся Query (Запросить). 1. 6. содержащий пункты Manage Server. здесь предполагается. перечисленным под заголовком Action. вам не нужно изобретать колесо и вручную вводить все конфигурационные данные. 5.ora на сервер имен Oracle через эту утилиту. Вызвать namesctl.Net8 Assistant. а в системе Windows NT выбрать пункт меню Start >• Programs ">• Oracle HOME_NAME >• Network Administration >. В системе UNIX для этого нужно запустить программу netasst из каталога $ORACLE_HOME/bin. вы должны сделать следующее: 1. что вы уже создали как минимум один сервер имен Oracle. Выберите сервер имен Oracle.ora на сервер имен Oracle После создания сервера имен Oracle вы можете загрузить на него существующий файл tnsnames. Manage Data. Щелкните на кнопке Execute.

YES. или изменяет домен. НО По умолчанию: OFF log_file_name Определяет имя файла журнала. количество дней в сочетании с количеством часов. используемого сервером имен Oracle. Поскольку они работают аналогично командам Listener Control.130 Глава 4 Команды Namesctl .5.•'• Изучая утилиту Listener Control (Isnrctl) в главе 3. По умолчанию: names. Утилита Names Control (namesctl). с которой ведется запись статистики в файл журнала. Минимальное значение: 10 секунд Максимальное значение: 259200 (3 дня) Ч Значение по умолчанию: 0 (сохранение запрещено) default_domain Задает домен. мы останавливались на командах. что команда show предназначена для просмотра текущих значений параметров конфигурации сервера имен Oracle. заданный параметром names. Квалификаторы. которому по умолчанию присваивается имя ckpcch. начинающихся с set и show.. минут и секунд или просто количество часбв. OFF. например.) . • forwarding_available Разрешает или запрещает перенаправление клиентских запросов удаленным серверам имен'Oracle. Очевидно. Имя домена будет автоматически добавляться к любому неквалифицированному имени сетевой службы или имени службы. Вы можете-указать любую допустимую комбинацию единиц' измерения. Квалификаторы команды set утилиты namesctl Квалификатор команды Описание cache_checkpoint_interval Устанавливает частоту сохранения всей собранной информации об удаленных регионах в локальном файле кэша.default_domain файла sqlnet.ora. имеет набор команд. Значение указывается в секундах. а команда set — для их инициализации или модификаций. относящихся к прослушивающему процессу. .5. Время изме^яется'й секундах. Таблица 4.log log_stats_interval Изменяет частоту. как и Listener Control. ч Минимальное значение: 10 секунд Максимальное значение: отсутствует Значение по умолчаний: 0 (протоколирование не ведется) Примеры: set log_stats_interval 129600 set log_statsjnterval 1 day 12:00:00 (В обоих случаях устанавливается интервал 36 часов.ora. перечисленьх в таблице 4. которые можно использовать с командой set.1 Команды set и show . . Аргументы: ON. в который клиент namesctl чаще всего направляет запросы на разрешение имен. рассмотрим их в первую очередь.

выполненные командами namesctl set. при этом в максимально возможной степени сохраняются форматирование. требуемый для выполнения привилегированных команд namesctl. requests_enabled Определяет. разрешается. то выполнение операции. reset stats interval Изменяет период обнуления (или установки начальных значений) дли статистики на текущем сервере. Время измеряется в секундах. вызванных действиями пользователя ADMIN — трассировка для идентификации проблем. требующей пароля. Возможные значения: ON.5 (продолжение) Квалификаторы команды set утилиты namesctl Квалификатор команды Описание NAMESCTLJraceJevel Устанавливает уровень трассировки утилиты Names Control. OFF. Аргументы: OFF — трассировка выключена USER — трассировка для идентификации ошибок. save_config_on_stop Определяет. комментарии и регистр символов.) save_config_interval Сохраняет в файле names. Возможные значения: ON. которая посылается серверу имен вместе с каждой командой.ora после завершения сеанса namesctl. то все клиенты. сохраняться в файле names. связанных с программным обеспечением SUPPORT — трассировка. Это применяется главным образом для диагностики. Команда set password не изменяет пароль сервера имен Oracle. Сохранение всех значений происходит непосредственно перед выходом из утилиты. Если это свойство имеет значение OFF.131 Сервер имен Oracle Таблица 4. которое хранится на сервере. RELOAD. будут ли изменения. RESTART. ориентированная на службу поддержки password Устанавливает пароль. посылающие запрос на разрешение имени. например STOP. Если это значение совпадает с тем. выполненные командами namesctl set на протяжении заданного интервала. Она просто устанавливает значение соответствующей переменной namesctl. Время измеряется в секундах. будет ли текущий сервер имен Oracle реагировать на запросы. OFF . будут получать отказ.ora любые изменения. Минимальное значение: 10 секунд Максимальное значение: отсутствует Значение по умолчанию: 0 (статистика никогда не сбрасывается) (Эта команда работает точно так же. когда сервер имен функционирует непредвиденным образом. При пересылке по сети пароль всегда шифруется. как log_statsjnterval.

информация о котором в данный момент хранится в памяти сервера имен Oracle. хранящееся в параметре names. то используется значение. version Показывает текущую версию и имя сервера имен Oracle. Таблица 4.6).5 (продолжение) Квалификаторы команды set утилиты namesctl Квалификатор команды Описание server Задает имя сервера имен Oracle. Если аргументы не указаны. Они описаны в таблице 4. Аргументы: OFF — трассировка выключена USER — информация для пользователя ADMIN — информация для администратора SUPPORT — информация для глобальной службы поддержки Команда show в основном имеет те же квалификаторы.trc tracejevel Устанавливает уровень трассировки сервера имен Oracle. на какое время запланирован следующий системный запрос. По умолчанию: names. Остальные команды Команды set и show — это лишь две из многих команд. Используйте эту команду для переключения между множественными серверами.6. но зато добавлены три дополнительных квалификатора: status. Release 8.6. У нее отсутствует Квалификатор password. system_queries Показывает время следующего выполнения всех системных запросов. что и команда set. Краткие описания остальных команд приведены в таблице 4. Дополнительные квалификаторы команды show Квалификатор команды Описание status Показывает общую информацию о состоянии сервера имен Oracle. с ее помощью очень удобно определять текущий сервер.ora. trace_file_name Задает имя файла трассировки для сервера имен Oracle.132 Глава 4 Таблица 4. Для просмотра состояний нескольких серверов укажите их имена через пробел.preferred_servers файла sqlnet. Квалификатор server может представлять собой либо адрес. либо имя сервера. system_queries и version. За более подробной информацией обращайтесь к руководству администратора Net8 (Oracle Net8 Administrator's Guide.7. Важна при определении момента выдачи команды restart.1. Эта команда применима только в распределенной среде и показывает. . доступных в утилите Names Control.

ora. показывая время отклика. что сокращает сетевой трафик. domain_hint Позволяет определять указания доменов (domain hints) для запроса данных из удаленных регионов. . По умолчанию это файл names.log. то сервер имен направляет запрос какому-либо из известных ему удаленных серверов имен. ping Связывается с текущим сервером имен Oracle или с указанными серверами имен Oracle.ora). Команды утилиты namesctl Команда Описание delegate_domain Определяет домен как начало подрегиона в текущем административном регионе.ora. который передает запрос корневому серверу имен своего региона. dumpjdap Собирает все подтвержденные данные из домена или региона и экспортирует их в LDAP-совместимую службу каталогов или в файл LDIF (LDAP Data Interchange Format — формат обмена данными LDAP).7. flush_name Указывает серверу имен Oracle на необходимость удалить информацию о заданном регионе из локального файла контрольной точки (по умолчанию это файл ckpcch. list_delegated Выводит список всех делегированных доменов корневого региона или указанного домена. flush Указывает серверу имен Oracle на необходимость очистить от всей и нформации об удаленных регионах локальный файл контрольной точки (по умолчанию это файл ckpcch. exit Завершает работу утилиты Names Control. Это позволяет серверу имен Oracle направлять запрос сразу по конкретному адресу. list_objects Выводит список всех сетевых объектов корневого региона или указанного домена.Сервер имен Oracle 133 Таблица 4. Если указание домена отсутствует. определенные в одном или нескольких файлах tnsnames. list_domains Выводит список всех доменов корневого региона или поддоменов указанного домена. В ответ на команду help <имя_команды> утилита выводит справку по указанной команде. который затем может быть загружен в каталог. Корневой сервер имен направляет запрос тому серверу имен. log_stats Записывает текущую статистику в файл журнала данного сервера имен Oracle. password Устанавливает зашифрованный пароль для привилегированных команд утилиты Names Control.ora). dumpjnsnames Записывает имена и адреса всех служб локального региона в файл tnsnames. help Выводит список всех доступных команд namesctl. Указание домена содержит имя удаленного домена и как минимум один адрес сервера имен Oracle из этого домена. который содержит информацию об указанном в запросе домене. loadjnsnames Загружает на сервер имен Oracle все имена сетевых служб.

Запускает клиентский кэширующ'ий процес'с. находящиеся в кэше сервера имен Oracle. • reload Заставляет сервер имен Oracle немедленно проверить его административный регион на наличие измёй&шй данник! При наличии изменений сервер имен заново загружает все имена служб баз данных. Останавливает один или несколько серверов имен Oracle. Выводит список команд show. . Удаляет сетевой объект с сервера имен Oracle. Показывает статистику для одного или нескольких^серверов имен Oracle. глобальные связи баз данных и псевдонимы. Возвращает статистические показатели сервера имен Oracle к исходным значениям. timed. reset_stats restart Возвращает сервер имен Oracle в исходное состояние. Завершает работу утилиты Names Control. доступных в текущем сеансе namesctl. reorderjis Создает файл со списком локальных серверов имен Oracle и прослушиваемых ими адресов. — register Регистрирует сетевой объект на'оервёре имен Oracte. В ответ на одну из этих команд namesctl показывает текущее значение соответствующего параметра. а также некоторые их внутренние установки. которые они имели при запуске сервера. имена сетевых служб. Показывает текущую версию и имя сервера имен Oracle.query или unregister для вычисления средней скорости возврата результатов.7 (продолжение) Команды утилиты namesctl Команда query Описание quit Показывает содержимое сетевого объекта.134 Глава 4 Таблица 4. status . хранимого на сервере имен Oracle. которое он имел после запуска. register. set Выводит список команд конфигурирования. ' show shutdown start start_client_cache startup stop Запускает программу службы имен Oracle и инициирует загрузку системных данных и данных локального административного региона. timed_query unregister version Показывает все данные. Останавливает один или несколько серверов имен Oracle. доступных в текущем сеансе namesctl. repeat Позволяет многократно выполнять команды query. Запускает программу службы имен Oracle и инициирует загрузку системных данных и данных лсжаМЬиЙгааЙ^иниегф^иеЙЬго региона.

Интернет-каталог Oracle .

следует пояснить один момент. .6). рассказать о нем все в рамках одной небольшой главы не представляется возможным. Возможно. что каталог представляет собой механизм или объект. Итак.0. Какие каталоги применяются в сетях. За более подробной информацией рекомендую обращаться к руководству по администрированию Интернет-каталога (Oracle Internet Directory Administration Guide. в котором хранится информация об одном и более предметах. то знаете. Различные виды каталогов Перед тем как двигаться дальше. доступных для приобретения. но не беспокойтесь. терами.136 Глава 5 недавно мне потребовалось связаться с местным отделением Управления социального обеспечения (Social Security Administration. Поскольку Интернет-каталог Oracle — это очень сложный инструмент. Словарь представляет собой каталог слов. Опираясь на приведенное выше определение каталога как объекта. что файлы хранятся в отдельных каталогах. А как насчет программы телевидения? Еще пример каталога — это энциклопедия. не считая каталогов операционной системы. нетрудно обнаружить вокруг себя другие разновидности каталогов. равно как и о том. что такое Интернет-каталог. изданному корпорацией Oracle. в которой собрана воедино разнообразная информация. Звучит немного устрашающе. Я открыла телефонную книгу и заглянула в раздел с голубыми страницами. чтобы помочь вам разобраться в основах этой технологии. Поваренную книгу можно считать каталогом рецептов. OID рассчитан на работу с упрощенным протоколом доступа к каталогу (Lightweight Directory Access Protocol. как телефонная книга упорядочена по алфавиту). где приводятся списки федеральных правительственных учреждений. что . зачем он может понадобиться и как выполнять его начальное конфигурирование. . Прайс-лист из компьютерного магазина — это каталог товаров. Поскольку телефонный каталог организован по алфавиту. я быстро выяснила. позволяют нам быстро получать конкретную информацию. что SSA имеет номер 1-800 и свою Web-страницу. Release 2. На основании этого примера можно предположить. вам будет трудно преодолеть этот стереотип. хранящих файлы конфигурации Net8? В этой главе мы рассмотрим новое средство OracleSi — Интернет-каталог (Oracle Internet Directory. SSA). В этой главе слово "каталог" означает специализированную электронную базу данных. OID). Каталоги. в которой хранится довольно специфичная информация. организованная строго определенным образом. . приступим к изучению электронных каталогов. в которых хранятся файлы. создаваемые в логической последовательности (подобно тому. Речь не идет о компьютерных каталогах. Цель этой главы состоит в том. LDAP). Далее подробно рассказано об LDAP. используемый для хранения информации об одном и более предметах. Если вы хоть сколько-нибудь работали с компыо.

представляет собой специализированную базу данных для хранения информации определенного типа. Как ассистент вы можете обрабатывать данные о регистрации студентов на курсах. Речь идет о реляционных базах данных и базах данных каталогов. В некоторых почтовых программах можно открыть адресную книгу. поэтому сначала выясним. добавлять. а также списков авторизованных пользователей и их привилегий. Теперь обратимся к реляционной базе данных. хранящихся в каталогах? Все электронные базы данных. В качестве преподавателя вы можете вводить тестовые баллы и отметки студентов. Итак. как происходит работа с реляционной базой данных. Каталоги такого вида хорошо подходят для работы с любыми информационными ресурсами. читаемых в колледже. требуемой для разрешения имен сетевых служб. на которых зарегистрирован каждый студент. Реляционная база данных в сравнении с базой данных каталога Прежде всего взаимодействие с реляционной базой данных осуществляется не так. а возможно. имеющийся в виду. их IP-адресов и другой информации о местонахождении. что в нем хранится. мы все знаем. . а также пользоваться реляционными свойствами базы данных для соединения информации об успеваемости с личными данными каждого студента. списки курсов.Интернет-каталог Oracle 137 позволяет обращаться к ним более простым и логичным образом. расположенных в каталогах. Например. Посмотрим. Не является ли она механизмом. просматривать расписание занятий. они широко применяются для хранения имен компьютеров. обновлять или удалять информацию о курсах. и подпрограмма поиска выведет имена. и свои отметки. вы можете просматривать регистрационную форму и записываться на те или иные курсы. которую предстоит изучить в этой главе? Каталог. Допустим. что сейчас мы говорим не о каталогах файловой системы. используемым для организации и хранения информации? Не состоит ли она из набора файлов с данными и метаданными. требующими управления. модифицировать свои личные данные. состояли из файлов. Например. начинающиеся на эти буквы. что такое компьютерный каталог. а также регистрационные формы. В таблицах этой базы данных содержатся сведения о курсах. Будучи студентом. что отличает реляционную базу данных от базы данных каталогов. с которыми я встречалась. Адресная книга доступна только из почтовой программы. набрать несколько первых букв. Но помните. личные данные каждого студента. которое прямо или косвенно говорит о том. Каждый каталог имеет свое имя. Но что нам известно о той разновидности каталога. вы используете базу данных своего местного колледжа. отметки студентов. в почтовой программе вы можете создать список имен и адресов своих друзей. как с базой данных каталога.

обсуждая сервер каталога. например. Сначала рассмотрим серверы каталогов в общем. реализованный корпорацией Oracle. В такой базе данных реляционная информация либо вообще отсутствует. когда клиентский запрос не может быть выполнен локально? В этом случае сервер либо самостоятельно находит и возвращает запрашиваемую . что реляционная база данных ориентирована на интенсивную запись и хранение весьма разнородной информации. вы можете объявить. к которому оно обратится с запросом. рассмотренным в главе 4. Информация о местонахождении данных хранится в словаре данных. Что происходит. что представляет собой база данных каталога. можно с уверенностью сказать. извлечения. Данные обычно хранятся парами. Что это означает? Вернемся к серверам имен Oracle. Таким образом. ввода. имя и адрес. тогда как. к которым иногда добавляются операции удаления и запросы. расположенных на определенных машинах. мы подошли к главной теме этой главы. что он будет хранить информацию об именах в кэше. когда писалась эта глава. Теперь посмотрим. Какие средства используются для извлечения информации из базы данных каталога? В большинстве случаев доступ к данным обеспечивает сервер каталога. Создавая сервер имен. База данных каталога в большей степени ориентирована на чтение и поддерживает выполнение относительно простых транзакций. Серверы каталогов Наконец.138 Глава 5 Итак. При описании общих принципов построения серверов каталогов на основе протокола LDAP будем использовать термин "сервер каталога LDAP". обновления и удаления большого количества элементов данных. после первоначальной загрузки информации взаимодействие с такой базой данных сводится главным образом к просмотру небольших порций информации. Как правило. Серверное приложение ожидает найти одну и ту же информацию на любом из серверов. В отличие от этого информация сервера каталога не привязана к конкретной машине. Когда мы говорили о реляционных базах данных. упоминалось. либо ее очень мало. В то время. фактически вы выполняете многочисленные операции ввода и обновления. реляционная база данных по большей части используется для хранения. что СУБД ожидает найти данные в определенных местах на определенных машинах. то в этом случае вам не требуется выполнять какие-либо манипуляции с данными. При таком способе хранения вновь зарегистрированные имена сразу же передаются всем остальным серверам имен региона. корпорация Oracle использовала для своей новой технологии термин "Интернет-каталог Oracle". будем ссылаться на него как на "Интернет-каталог Oracle". Система управления реляционной базой данных ожидает найти информацию в совершенно конкретных местах — в определенных файлах данных. что вы просматриваете документы из хранилища данных. а затем перейдем к описанию Oracle-реализации сервера каталога LDAP. к которому обращаются с запросами клиентские приложения. Если теперь предположить.

которым необходимо следовать.'как нужно. пользовательских и корпоративных политик и даже аутентификационных данных. Кроме того. . Теперь рабочий стол выглядит именно так. придётся все! повторять заново.ora на каждой клиентской машине и на каждом сервере. который запрещает это делать. сетевых компонентов базы данных. что было бы очень уДобно иметь доступ к своему профилю из любой точки земного шара. сервер каталога LDAP позволяет транслировать запрос на определение местонахождения объекта из одной формы в другую. находящиеся на разных машинах. все это делается прозрачным для клиента способом.•. В главах 1 и 2. Разумеется. вы можете устанавливать соединения по различным протоколам. что существует много правил и инструкций. >. что вы потратили много времени на настройку пользовательской среды своего рабочего компьютера. чтобы вы не превышали определенную скорость при движении мимо школы или останавливались перед знаком "stop". Эти правила и инструкции регламентируют действия^ которые вы должны предпринимать в тех или иных ситуациях. Одним из достоинств сервера каталога LDAP является то. Такую возможность как раз и предоставляет каталог. Согласитесь. Вам может быть разрешено выполнять правый поворот на красный сигнал светофора после остановки. Подобно серверу имен Oracle. используя единую конфигурацию. а не в потенциально огромном количестве файлов. как'рабочий. лежащие в основе сетевых технологий Oracle. Когда вы входите в сеть из дома. Предположим. чтобы сделать движение спокойным и безопасным. правила могут требовать. Bftoqi-JTiVafffd нн^птг:. чтобы не нарушать законы своей страны. то знаете. . что он позволяет. Подобно правилам дорожного движения протоколы обеспечивают эффективную и безопасную передачу сетевого трафика. Вспомните.мы рассмотрели различные протоколы.Интернет-каталог Oracle 139 информацию. если рядом нет знака. этот профиль недостугген. а цвета фона и переднего плана идеально соответствуют вашему вкусу. отпадает необходимость держать файл tnsnames. Чтобы настроить домашний компьютер точно так же. что протоколы — это наборы правил. Сервер каталога LDAP может связывать приложения и ресурсы. Все эти правила и инструкций были созданы для того. Ваш пользовательский профиль хранится локально на рабочем компьютере. Этот сервер можно использовать в качестве центрального репозитория для описаний всех. определяющие способ транспортировки данных по сетям. в разных сетях и даже в разных географических регионах. ' . централизованно хранить много различных видов информации. Поскольку в каталоге хранятся имена других служб. При наличии единого репозитория изменения нужно выполнять только в одном месте. либо указывает клиенту на ее местонахождение. Например. • Серверы каталогов LDAP Если вы водите автомобиль. Однако в отличие от сервера Oracle он может обеспечивать трансляцию не только для объектов Oracle.

Он предоставляет около 90 процентов функций Х. то при его недоступности выполнение запросов станет невозможным. вобрала в себя много хороших идей. И как быть. можно организовать локальное кэширование данных. При тщательном предварительном планировании многих из них можно избежать.500 при почти десятикратном снижении требований к ресурсам. чтобы вы учитывали их в процессе проектирования и конфигурирования своего сервера каталога. Следует заострить внимание на этих проблемах для того. Итак.500.500 используются более сложные структурированные представления. • Большинство элементов данных имеют простой строковый формат. С реализациями Х. IETF) и является открытым стандартом. если у вас есть только один центральный сервер каталога. не имеет доступа к сети или разделено таким образом. если приложение. используемого в Х.500. они требуют больше компьютерных ресурсов. . Прежде всего.140 Глава 5 Сервер каталога LDAP имеет и ряд недостатков. но основная часть необходимой информации останется доступной. • Исключены редко используемые возможности Х. служба каталогов OSI. Упрощение доступа к каталогу достигается за счет следующих решений: • LDAP работает непосредственно поверх TCP/IP. Кэшированные данные не обязательно будут отражать самые последние изменения.500 и избыточные операции. чтобы лучше понять. а это означает наличие потенциальной бреши в системе безопасности. чем есть в распоряжении среднего пользователя. но второстепенной информации о сервере каталога LDAP. DNS. что исключает издержки на обращение к верхним уровням коммуникационного стека OSI. что не может обращаться к серверу каталога? Другая проблема состоит в том. что значительно упрощает функционирование. с чем имеем дело.500. Первоначально LDAP разрабатывался как дополнение протокола доступа к каталогу (Directory Access Protocol) Х. SNMP и HTTP. но оказалась непригодной для реализации и развертывания в Интернете из-за сложности и тяжеловесности. а также некоторые "правила дорожного движения". SMTP. Краткая история сервера каталога LDAP Упрощенный протокол доступа к каталогу (LDAP) разработан группой по инженерным проблемам Интернета (Internet Engineering Task Force. на тот случай. Далее кратко рассмотрим историю LDAP. мы получили достаточно много важной. которое вы пытаетесь запустить. но практически ничего не узнали о его устройстве. если сервер будет отключен или станет недоступным по какой-либо другой причине. Х. тогда как в Х. что клиенты должны иметь доступ к серверу каталога LDAP. Например. Из других известных разработок IETF достаточно назвать протоколы TCP/IP.500 трудно работать. NNTP. считанных с сервера каталога. Наряду с пользователями доступ к информации о сетевых компонентах и корпоративных политиках могут получить и взломщики.

При этом сохранялись затраты на взаимодействие с медленным и громоздким сервером Х. С каждым атрибутом связываются определенные правила. который. выполнявшим фактическую обработку запроса. • Модель именования. как и любым другим Интернет-серверам — с очень небольшими издержками и полной интегрированностью в среду Интернета. передаваемых по сети. что можно делать с данными. Если вы захотите использовать каталог для хранения описаний своих друзей. в свою очередь. это и есть информационная модель. Наборы этих правил называются типами. К ним относятся: • Информационная модель. Определяет. • Функциональная модель. как к ним обращаться и как их обновлять. высокий он или низкий. фиалковый и т.500 из процесса обработки позволяет серверам LDAP функционировать так же. Со временем модель LDAP была отделена от протокола Х.д. какие виды информации могут храниться на сервере каталога. серый. Информационная модель Как можно описать человека? Обычно говорят о том.500. черный. мужчина это или женщина. цвет глаз и пол. вес. называемой также записью (entry). атрибут для цвета глаз может иметь тип символьной строки и называться eyeColor. Операции LDAP.500. В этой модели LDAP-клиент посылает запрос непосредственно к серверу LDAP и немедленно получает от него ответ.Интернет-каталог Oracle 14J[ • Используются упрощенные версии правил кодирования данных. определяющая структуру записи сервера каталога LDAP. • Модель безопасности. Рассмотрим каждую из этих моделей. таких. Рассмотрим эту модель подробнее.500. как могут быть организованы данные в каталоге LDAP и как на них ссылаться. Собственно говоря. Сначала LDAP использовался в качестве клиентской части протокола Х. LDAP-клиент соединялся с сервером LDAP. Информационная модель LDAP определяет. имеющий тип символьной строки. как рост. что позволило разработать автономный сервер LDAP. Описывает. карий. Центральным понятием этой . Исключение Х. то каждое такое описание будет представлено одной строкой (row). Определяет методы защиты данных в каталоге LDAP от несанкционированного доступа. Атрибут eyeColor. Например.500. цвет волос. передавал запрос серверу Х. С каждым типом связываются значения. какой у него цвет глаз и волос. Определяет возможные типы хранимых данных. может принимать значения голубой. толстый или худой. хранение информации в каталоге и методы работы с ним полностью описываются четырьмя базовыми моделями. Записи состоят из атрибутов (attributes). чтобы лучше понять устройство и работу сервера каталога LDAP.

Вы уже знаете. состав. принтерами. какую информацию допускается хранить в области значений и как будут трактоваться значения при выполнении поиска или других операций над каталогом. 5. Он имеет синтаксис caselgnoreString.1. но здесь игнорируются дефисы или пробелы в датах. Запись LDAP Атрибут Тип Значение eyeColor Значение Символьная строка Голубой Фиалковый Рис. определяющий множество допустимых значений. Чтобы изменить текущую схему для структуры LDAP. организациями. Как правило. 'Jones" и 'Jones" считаются одинаковыми. Возьмем для примера атрибут commonName (общее имя). что значения должны быть символьными строками. и что каждый атрибут имеет тип. как будет выглядеть запись в случае конкретного атрибута eyeColor. обозначаемый как "сп". что записи состоят из атрибутов.д. количество аргументов и т. занимаемое документами. а атрибут. однако наличие такой связи не является обязательным требованием. причем регистр символов при сравнениях игнорируется.1 показана общая структура записи LDAP. Для определения обязательных или допустимых атрибутов в масштабах сервера используются смысловые правила (content rules).д. а также других. Это говорит о том. В базе данных эквивалентом такой структуры служит схема. Например. чтобы ограничить дисковое пространство. к записи добавляются новые объектные классы. Например. Вместо использования смысловых правил можно указывать в каждой записи специальный атрибут с именем objectClass. атрибут для хранения номера кредитной карты может допускать ввод только одного значения. Запись службы каталога LDAP с примером Остановимся на типе атрибута. то есть строки "JONES". Атрибут todayDate имеет идентичный синтаксис. Для большей наглядности рядом показано. 5. для записи PERSON атрибут objectClass может требовать наличия атрибутов sn (surname . Атрибуты могут иметь ограничения на размер. записи связаны с объектами реального мира — людьми. На рис. в результате чего даты 10-02-2000 и 10022000 будут рассматриваться как одинаковые. адресами и т. . содержащий текст документа.фамилия) и en (common name). содержащих информацию об объекте. может иметь ограничение на максимальное количество символов. Синтаксис типа определяет. который определяет тип записи и тем самым задает обязательные и необязательные атрибуты..142 Глава 5 модели является понятие записи.

текущие правила схемы. В таких случаях гораздо удобнее и дешевле просто замещать правила схемы. добавляя или удаляя атрибуты по мере необходимости. (auxiliary). Хотя это и не требуется протоколом. Новый стандарт содержал ряд усовершенствований.. существующих в мире. 5. Давайте еще раз обратимся к иерархической схеме корпорации XYZ. 2. Каждый компонент этого имени называется относительным отличительным именем (Relative Distinguished Name. Рис. отражающее географическую или организационную структуру. называемый структурным {structural) объектным классом.« . 5. • Глобальное развертывание информационного дерева каталога (Directory Information Tree) на множественных серверах LDAP с использованием механизма ссылок (он кратко объясняется в разделе "Ссылки LDAP'). Версия 3 стандарта LDAP содержит специальный объектный класс с именем extensibleObject. пригодной для использования другими серверами и клиентами LDAP. RDN). Записи именуютсй в соответствии с их положением в иерархии. Он определяет тип записи и не может быть изменен.. По сравнению с prfc. что иногда определевие нового правила схемы и информирование клиентов и серверов об этом изменении сопряжено с большими затратами ресурсов. Остальные объектные классы называются вспомогательными. • Возможность расширения существующих операций LDAP с помощью так называемых механизмов controls. . Зачем это нужно? Дело в том.корпорация Oracle смогла реализовать в своем Интернет-каталоге: :.2. • Поддержку наборов символов любого из языков.Интернет-каталог Oracle 143 Каждая запись имеет специальный объектный класс.бще.. показанной на рис. • Публикаций} информации. Остальная часть этой схемы вам уже знакома. Усовершенствования в LDAP версии 3 LDAP версии 3 был утвержден IETF в декабре 1997 года как стандарт Интернета. • Поддержку стандартных протоколов SASL (Simple Authentication and Security Layer) и TLS (Transport Layer Security). каждая запись имеет отличительное имя (Distinguished Name. служащих универсальный! расширяемым средством защиты данных в протоколе LDAPr пмишп . Их можно добавлять и удалять в соответствии с установленными правилами доступа. благодаря которьтм.5 здесь выполнено лишь одно небольшое изменение — добавлена Запись верхнего уровня "XYZCORP". записи в модели именования LDAP обычно образуют дерево. который замещает лю. DN).2 дает пример такой структуры. RDN может состоять из одного или нескольких атрибутов записи. Модель именования В главе 2 мы говорили об иерархических структурах. .

144 Глава 5 Рис.2. Возьмем. называется пространством имен (namespace). В структуре LDAP пространство имен начинается с наименее значащего компонента имени и простирается до корня. Примером такого пространства имен служит путь D:\Oracle\Ora81\network\admin: чтобы добраться до файла в каталоге admin. В приведенном выше имени файла разделителем служил обратный слэш (\). составляющих полный путь к нужной информации. RDN можно уподобить имени файла. Где здесь DN. Перед тем как переходить к конкретным примерам. вам нужно начать с диска D: и пройти через все промежуточные каталоги. такое имя: D:\Ora816\Oracle\Network\Admin \trace_010500. если рассмотреть организацию именования в файловой системе UNIX или Windows NT. обратите внимание на используемые разделители.trc. при работе с пространством имен LDAP вы начинаете с общего имени (сп) и продвигаетесь по направлению к корню. хотя это может быть и прямой слэш (/). как два файла в одном каталоге не могут иметь одинаковые имена. 5. а где — RDN? Подумайте над ответом. так и родительские узлы. Последовательность местонахождений. Таким образом. В структуре LDAP информацию могут содержать как узлы-листья. какая операционная система используется — UNIX или Windows NT. Точно так же. а пока продолжим рассказ об именовании в LDAP. записи каталога LDAP с общей родительской записью должны называться по-разному. a DN — полному пути к этому файлу. например. . в зависимости от того. Иерархическая схема американского отделения корпорации X Y Z Модель именования LDAP будет проще понять. В файловой структуре операционной системы пространство имен начинается от корня или наиболее значащего компонента и простирается до имени файла.

Virginia — штат. Vienna — подразделение. где Orders — это общее имя. А если значение тоже содержит двойные кавычки или обратный слэш? Тогда перед каждым из этих специальных символов необходимо ставить обратный слэш. Функциональная модель Теперь вы знаете. поэтому разберем пример с именем файла более подробно. modify.trc. чтобы понимать. compare • Операции обновления: add.trc" .Интернет-каталог Oracle 145 В LDAP компоненты имени разделяются запятыми (."o=XYZCORP. при описании Oracle-реализации сервера каталога LDAP. разделяемых знаком плюса (+). лучше всего отказаться от многозначных RDN. Кстати. чтобы обеспечить однозначность в определении местонахождения информации в пределах структуры LDAP.com. то есть тем же самым обратным слэшем. Но как быть. Полный путь к файлу можно рассматривать как эквивалент отличительного имени. разделяемых запятой (.com будет представлена как cn=http:\\\\mywebaddress. unbind. abandon 6 Зак. какого вида информация хранится в каталоге LDAP и как организовано ее именование.RDN.st=VA. c=US". Например. Кажется. a "trace_010500. "u=Vienna". Посмотрим. если символ-разделитель содержится в самом значении? В таком случае значение должно быть заключено в двойные кавычки ("). или же символу-разделителю должен предшествовать escape-символ. Фактически вам доступны девять операций трех типов: • Операции опроса: search.c=US". станет DN. а их комбинация. Каждый обратный слэш в общем имени должен предваряться escape-символом. запись LDAP может называться "cn=Orders. Допустим. что у нас есть компонент pathname. "st=VA" и "o=XYZCORP". delete. XYZCORP — организация. такой ответ может немного запутать. Согласно этим правилам. запись cn=http:\\mywebaddress. Смысл именования в том.).) или точкой с запятой (. Каждый компонент RDN представляет собой множество пар "атрибут-значение". а в качестве разделителей использовать запятые. Отличительное имя состоит из последовательности относительных отличительных имен. Поскольку в результате имена могут сильно усложняться. но приведенной информации должно быть достаточно. то каждая часть ниже корня станет RDN. o=XYZCORP. modify RDN • Операции аутентификации: bind. здесь рассказано далеко не все о формате отличительного имени. Имя файла станет общим именем: cn=trace_010500. Если мы решим разбить компонент рп на отдельные части. a US — страна. полный путь можно рассматривать как один компонент: pn=D:\Ora816\Oracle\Network\Admin. о чем пойдет речь далее. ответ на заданный выше вопрос таков: "D:\Ora816\Oracle\Network \Admin" . а отличительным именем . что можно делать с этой информацией.). 726 . ведущая к интересующей нас области. Следуя методу имено•вания LDAP. обозначаемый как "рп".это DN. Разумеется. В качестве escape-символа используется обратный слэш (\). Относительными отличительными именами в этом примере являются "cn=Orders". u=Vienna.

. Операция unbind используется для завершения сеанса работы с каталогом. а также для добавления или удаления атрибутов и значений. которая лучше всего подходит для его системы. операция поиска слишком затянулась. Это называлось сцеплением .146 Глава 5 Операции опроса позволяют проводить поиск в структуре каталога LDAP и извлекать информацию. После идентификации клиента сервер использует сведения о правах доступа. модифицировать или удалять информацию из структуры'каталога. удовлетворяющей условию фильтрации. Интересно отметить. пытающихся получить доступ к каталогу LDAP. то клиенту достаточно указать NULL вместо DN и пароля. используемых в разных реализациях. Операция bind позволяет проверить. а также ограничить размер или количество выводимых записей. Однако при несогласованности методов управления доступом. Если сервер не мог удовлетворить запрос. Клиент может указать. Операция search используется для поиска информации в определенной области дерева каталога на основе критерия отбора. что за обработку всех запросов клиента и возврат окончательных результатов (или сообщений об ошибках) будет отвечать сервер каталога Х. Операции обновления. опрашивая их от имени клиента. находящуюся в стадии выполнения. В LDAP версии 3 реализованы более надежные методы защиты. он связывался с другими серверами. Операция abandon позволяет отменять любую операцию. Модель безопасности Как можно предположить по наличию операций bind и unbind в функциональной модели. . в том числе двухсторонняя аутентификация. сколько времени он готов ожидать результатов поиска. является ли клиент тем. выполняют основную работу по защите информации в каталоге. С помощью операции delete можно удалить существующую запись. Операция modify используется для изменения атрибутов и значений существующей записи. Для изменения имени записи используется операция modify RDN. как следует из их названия. система безопасности основана на идентификации клиентов. позволяют добавлять. относящиеся к аутентификации. Необходимую информацию предоставляет операция bind.500. разрешен ли этому клиенту доступ к запрашиваемой информации. например. передаваемый открытым текстом. предполагалось. если. Для этого клиент указывает DN и пароль. чтобы определить. иначе называемого фильтром поиска. Справочная модель LDAP Когда LDAP использовался в качестве клиентской части Х. Поскольку в модели LDAP средства управления доступом не предусмотрены. Операции bind и unbind.500. Эта операция возвращает набор атрибутов (со значениями или без) для каждой записи. Это очень полезно. при которой сервер также обязан подтверждать свою аутентичность перед клиентом. разработчик может реализовать ту форму управления. может возникнуть проблема с тиражированием информации между этими реализациями-. Если аутентификация не требуется. за кого он себя выдает. что серверу не нужно подтверждать свою аутентичность перед клиентом.

посмотрим. Release 2. Обзор Интернет-каталога Oracle Интернет-каталог Oracle. объединяет возможности LDAP версии 3 и сервера OracleSi. чтобы эффективно работать в Интернете. что детали реализации каждого уровня протоколов оставлены на усмотрение производителей. Если один сервер в сообществе тиражирования окажется недоступен. предназначенных для манипулирования большими объемами данных LDAP. Клиент ничего не знал о том. . основанного на стандартах IETF. что в получение результатов его запроса вовлекался другой сервер. как корпорация Oracle реализовала эту технологии) в своих базах данных. пользователь сможет получать данные каталога с другого сервера. Сервер тиражирования каталога Oracle. Теперь. было отмечено. он может направить клиента к другому серверу LDAP. Производителям дана возможность разрабатывать код продуктов. Она упрощает развертывание серверов каталогов LDAP в сильно распределенной и неоднородной среде. В реализацию входят четыре компонента: • Сервер каталога Oracle • Сервер тиражирования каталога Oracle • Менеджер каталога Oracle • Инструменты командной строки для администрирования и управления данными Сервер каталога Oracle обеспечивает выполнение клиентских запросов на поиск и обновление информации. Теперь посмотрим. исходя из собственной интерпретации стандартов. где обсуждались стандарты ISO/OSI. если сервер каталога LDAP не содержит запрашиваемой информации. Записи. атрибуты и объектны© классы В главе 1. реализованный как приложение OracleSi. обеспечивает тиражирование информации между серверами каталогов LDAP. мы познакомились с устройством сервера каталога. Рассматривая выше различные модели LDAP. получившая название справочной модели (referral model). когда у вас есть некоторое представление об истории и моделях LDAP. как эти стандарты были интерпретированы и реализованы корпорацией Oracle. Вместе с Интернет-каталогом Oracle поставляется также ряд инструментов командной строки. как подразумевает его название. которой является Интернет. В соответствии с этой моделью. Менеджер каталога Oracle — это графический инструмент администрирования.Интернет-каталог Oracle 147 (chaining). Модель сцепления оказалась слишком негибкой. Стандарты сервера каталога LDAP не являются исключением. используя многоуровневую архитектуру. основанную непосредственно на TCP/IP. По этой причине была разработана новая модель.

Прыгая из квадрата в квадрат. Каждый из квадратов должен быть достаточно большим. поворачиваетесь и прыгаете обратно на исходную позицию. поворачиваетесь. На рис. которые вам только что пришлось выполнить. Прыгать и поворачиваться нужно только на одной ноге. как устроен Интернет-каталог Oracle и как определяется местонахождение нужной информации. поднимаете камень и прыгаете на исходную позицию перед квадратом. После того как вы прошли квадрат номер 5. не теряя равновесия и не наступая на линии. не наступая на линии. 5. 5. возвращались в исходную точку. Теперь посмотрим. Разметка для игры в "классики" Чтобы начать игру. показано. Прекрасно подойдет округлый плоский камень. Он должен быть не слишком тяжелым и вместе с тем достаточно большим для выполнения точных бросков. нужно найти какой-нибудь предмет для бросания. потом прыгаете в этот квадрат. поднимаете его. Успешно пройдя первый этап. Вы двигались вперед и назад по определенному пути в соответствии с правилами игры. успешно забрав свой камень. а потом. не наступая на линии. чтобы в нем можно было стоять и поворачиваться на одной ноге. 10 Рис. . Подумайте о тех действиях. как разметить площадку. где лежит камень. Вы проходили квадраты в установленном порядке. Вы вбрасываете камень в квадрат номер 1.3. чтобы немного отдохнуть. вы вбрасываете камень в квадрат номер 2.3. вы добираетесь до того места. при дальнейших прыжках вперед и назад можно вставать двумя ногами на квадраты 4 и 5.148 Глава 5 Записи Вы когда-нибудь играли в "классики"? В детстве я проводила за этой игрой все свободное время.

что атрибуты могут присутствовать на каждом уровне. Это дерево показано на рис. с — страну (country). o=XYZ Corp. Подобно тому. Например.'•/«. ou=shipping. как будет выглядеть DIT для двух разных служащих с одним и тем же именем Bebop Shuz. уровни пронумерованы.д. c=US. попробуйте составить отличительные имена для каждого служащего.4. c=France. 5.£ у) cn=BebopShuz c=France © \ ou=Purchasing (2) \ cn=BebopShuz (]) Где: Disorganization. c=country. ou=organizational unit. 5. Помните. разделенных . a en — общее имя (common name). нужно начинать с низшего уровня и продвигаться вверх по направлению к корню. в крайнюю левую позицию. o=XYZCorp(4) '(Корень)Ч. работающих в двух разных отделах. Затем вы двигаетесь по направлению к вершине дерева — точно так же. подумайте и запищите свои ответы. Чтобы вам было проще сориентироваться. что о означает организацию (organization). каждое отличительное имя идентифицирует запись и определяет местонахождение информации. следующим RDN после Bebop Shuz будет значение ou. Ниже уровня сп находятся значения атрибутов — адрес электронной почты. Вернемся к структуре корпорации XYZ и посмотрим. как при игре в "классики" вы прыгали от меньшего номера к большему. cn=common name Рис. Записи вместе со своими отличительными именами образуют иерархию. ou=purchasing. Можно сказать. Учтите также. Информационное дерево каталога с двумя служащими Исходя из приведенных на рис. Итак.Интернет-каталог Oracle 149 Каждый отдельный набор данных в каталоге называется записью (entry). называемый относительным отличительным именем (RDN). Элемент каждого уровня также представляет собой RDN. DIT). помещается на первое место. называемую информационным деревом каталога (Directory Information Tree. Составляя отличительное имя. o^XYZ Corp и cn=Bebop Shuz. Самый нижний компонент DIT. ou — организационную единицу (organizational unit). а не наоборот. а каждая запись идентифицируется отличительным именем. 5. Вот как должны выглядеть эти имена: cn=Bebop Shuz. местонахождение офиса и т. С _У5 ou=Shipping «. что отличительное имя — это просто последовательность RDN.4..4 данных. как в нашей игре каждый номер идентифицировал квадрат и одновременно определял его местонахождение. содержащейся в этой записи.

"Клерк". когда выполняется регенерация всех серверов каталогов в системе. так и множество значений. Все они реализованы в Интернет-каталоге Oracle. поскольку она считывается каждый раз. отметка времени для записи каталога будет влиять на работу сервера. Служебная информация. необходимо использовать полное отличительное имя. недостаточно указать одно RDN. рабочий и сотовый. Пример: cn=Anne Smith Компонент доменного имени в системе DNS. и т. Только что перечисленные значения атрибута jobTitle служат примером прикладной информации. напротив. В спецификации LDAP определено множество стандартных атрибутов. Еще одним примером многозначного атрибута служит атрибут для хранения адресов электронной почты. атрибутами служащих могут быть jobTitle (должность).150 Глава 5 запятыми. но однозначность идентификации не нарушается. Тип указывает на то. связана с функционированием самого каталога. Атрибут jobTitle может принимать значения "Менеджер". используемые Oracle Атрибут commonName domainComponent Обозначение en dc jpegPhoto jpegPhoto organization о Описание Общее имя записи. что каждая запись состоит из атрибутов. Стандартные атрибуты LDAP. было упомянуто о том. salaryAmount (зарплата). Пример: o=XYZCORP . Атрибуты Когда мы рассматривали общие модели сервера каталога LDAP. Чтобы найти требуемую запись в Интернет-каталоге Oracle.dc=com Изображение в формате JPEG (путь и имя соответствующего файла). departmentNumber (номер отдела). Атрибут telephoneNumber может хранить несколько телефонных номеров служащего — домашний. Например. Например.1. Пример: dc=uk.д.dc=acme.4 оба служащих имеют одинаковые имена. можно присвоить служащим идентификационные номера или дополнить имена инициалами. В Интернет-каталоге Oracle можно хранить информацию двух видов: прикладную и служебную. А если они работают в одном подразделении? В таком случае нужно искать другие способы уникальной идентификации. тогда как атрибут gender (пол) должен иметь только одно значение.1. а каждый атрибут имеет тип и набор допустимых значений. какая информация хранится в атрибуте. Пример: jpegPhoto=/photo/audrey. Таблица 5.jpg Название организации. Эта информация имеет отношение к клиентам. Атрибуты могут иметь как одно. "Программист" или "Администратор базы данных". В примере на рис. Например. Некоторые из часто используемых атрибутов LDAP перечислены в таблице 5. они могут извлекать ее из каталога. расположенных в разных странах. поскольку они работают в разных подразделениях. 5.

Интернет-каталог Oracle поддерживает и реализует все стандартные типы LDAP. ou=Server Development. : - surname sn telephoneNumber telephoneNumber i . c=uk Фамилия человека. . я упомянула о существовании правил. вы указываете в качестве ее типа один или несколько объектных классов. Л '• ' ' • owner > < - owner . имеют определенный тип. Теперь перейдем к объектным классам. используемые Oracle Атрибут Обозначение Описание organizationalUnitName ou Название отдела внутри организации. Пример: ou=Server Development .6. служащий для описания природы хранимых значений. > '".151 Интернет-каталог Oracle Таблица 5. Например. запрещающий хранение каких-либо других символов.1 (продолжение) Стандартные атрибуты LDAP. значения 703-555-1212 и 7035551212 могут рассматриваться как совпадающие. в зависимости от того. которые можно найти в приложении F к руководству администратора Интернет-каталога Oracle версии 2. Говоря выше о функциональной модели LDAP. какие правила сравнения применяются. Другой атрибут может хранить только буквы. Пример (строка из LDIF-файла): owner: cn=Anne Smith. Он может иметь как обязательные. Определяя запись каталога. определяющих трактовку атрибутов при выполнении поиска. Например. мы рассмотрели записи и атрибуты. как и атрибуты обобщенного сервера каталога LDAP. не подлежащие выводу на печать. а третий — значения. так и необязательные атрибуты. атрибут telephoneNumber может иметь тип. Атрибуты Интернет-каталога Oracle. Объектный класс содержит атрибуты и представляет категорию объектов.0. кроме цифр и дефисов. • Отличительное имя владельца записи. o=Acme. Интернет-каталог Oracle распознает все стандартные правила сравнения LDAP: • • • • • DistinguishedNameMatch (сравнение отличительных имен) caseExactMatch (сравнение с учетом регистра) caselgnoreMatch (сравнение без учета регистра) numericStringMatch (сравнение числовых строк) telephoneNumberMatch (сравнение телефонных номеров) Объектные классы Итак. Пример: telephoneNumber=(650)123-4567 или telephoneNumber=6501234567 Интернет-каталог Oracle предоставляет также несколько собственных атрибутов. Пример: sn=Smith Телефонный номер. добавление к каталогу новых типов невозможно.

На языке Интернет-каталога Oracle команда в целом представляет собой объектный суперкласс. которые будут начинать игру. Вершина — это абстрактный класс. который служит суперклассом для каждого структурного объектного класса. определяя их позиции на поле и последовательность ударов. Необязательные атрибуты вершины Атрибут orclGuid creatorsName createTimestamp orclACI orclEntryLevelACI Описание Глобальный идентификатор. но вы можете добавлять необязательные атрибуты к существующему объектному классу. структурные (structural) и вспомогательные (auxiliary). Группа из девяти игроков — это подкласс. а также определять новый объектный класс или объектный подкласс. служащий суперклассом для всех остальных объектных классов Интернет-каталога Oracle.2. Вы спрашиваете. что такое подкласс? Объектный класс "top" Мой друг Винни возглавляет бейсбольную команду своей корпорации. Интернет-каталог Oracle предоставляет как стандартные объектные классы LDAP. Абстрактный объектный класс рассматривается как виртуальный и не может быть единственным объектным классом записи. назовем его baseballTeam. Подкласс наследует все атрибуты своего суперкласса. В его команде 25 человек. остающийся неизменным при перемещении записи Имя создателя объектного класса . Таблица 5. К наборам атрибутов предопределенных объектных классов нельзя добавлять обязательные атрибуты. Перед каждой игрой он выделяет из состава команды девять человек. доступны. но использовать их не обязательно. которые перечислены в таблице 5.152 Глава 5 Для объектного класса organizationalPerson атрибуты commonName (en) и surname (sn) являются обязательными. Содержит информацию о политике из списка управления доступом (Access Control List) Многозначный атрибут. Существует специальный объектный класс.2. содержащий директивы списка управления доступом Существует три типа объектных классов: абстрактные (abstract). В Интернет-каталоге Oracle вершина имеет один обязательный объектный класс с именем objectClass. так и собственные объектные классы. а также несколько необязательных атрибутов. произведенный от baseballTeam. называемый "top" ("вершина"). . тогда как другие. в том числе telephoneNumber и streetAddress. Атрибуты вершины наследуются каждой записью каталога. модифицируемый пользователем. Записи в Интернет-каталоге Oracle могут наследовать атрибуты множественных объектных классов. Время создания объектного класса Дополнительный атрибут.

размеры и типы. Самое простое решение — это создать вспомогательный объектный класс с необходимыми атрибутами. синтаксисы и правила сравнения. у вас есть объектный класс horses (лошади). Для пользователей такая база данных будет выглядеть единой логически централизованной структурой. Добавление новых правил сравнения и синтаксисов. что все объектные классы. тогда как другие — на компьютере в штате Вирджиния. расположенным в любых точках земного шара. но не address. не переопределяя ее объектные классы. называемой подзаписью (subentry). а теперь хотите добавить атрибуты. Информация схемы словаря хранится в записи особого типа. расположенные непосредственно под объектным классом person. Это означает. что уже определены в Интернет-каталоге Oracle. должны описывать физические характеристики этого лица. атрибуты. а также много другой информации. Вспомогательные объектные классы позволяют расширить список атрибутов существующей записи. В этой области содержатся описания всех объектов. не принадлежащие ни одному из них. Чтобы не переопределять существующий объектный класс. хранятся в структуре. . к которым относятся объектные классы. не затрагивая существующие объектные классы. hairColor или eye-Color. вы определили запись как экземпляр двух объектных классов. Вам же требуется класс. что сейчас в Интернет-каталоге Oracle не контролируется соблюдение структурных правил. а потом связать его с записью. Распределение каталога Первые базы данных Oracle обычно размещались на одном компьютере. Возможно. паломино. что непосредственно под объектным классом person можно разместить классы gender. в будущем ситуация изменится. в одном централизованном месте. Подзаписи и схемы В базе данных Oracle для хранения метаданных используется специальная область. Допустим. в который входят арабские скакуны. В стандарте LDAP версии 3 этой подзаписи присвоено имя subSchemaSubentry. Метаданные Интернет-каталога Oracle. называемая словарем данных (data dictionary).Интернет-каталог Oracle 153 Большинство объектных классов Интернет-каталога Oracle по своей природе являются структурными. Сейчас мы можем распределить базу данных по компьютерам. а также программного обеспечения и аппаратуры компьютеров у нас появилась возможность распределять базы данных по нескольким дискам. Имейте в виду. какие виды объектных классов могут создаваться под определенным объектным классом. вы тем самым модифицируете subSchemaSubentry. пинто и шотландские тяжеловозы. По мере развития технологий баз данных. Например. Добавляя новые объектные классы и объекты. Структурные объектные классы определяют. Например. структурное правило информационного дерева каталога может гласить. составленный исключительно из рабочих пород. Одни части базы данных могут находиться на компьютере во Франции. помимо тех. невозможно. называемой схемой словаря (dictionary schema). в том числе их имена. можно создать вспомогательный класс с названием workHorses.

154 Глава 5 Аналогично этому данные Интернет-каталога Oracle можно физически распределить по нескольким серверам. Кроме того. Интернет-каталог Oracle и Nets Что общего у прослушивающего процесса Oracle. Формального ограничения на размер контекста именования не существует. 5. какие именно компоненты участвуют в этом процессе. Каждый контекст именования представляет собой поддерево. Поддерево растет от вершины вниз. что все они взаимодействуют при помощи Net8. Такое распределение дает двойной выигрыш. Дело в том. что Интернет-каталог Oracle не обязательно располагается на той же машине. либо методом разделения (partitioning). Компоненты Интернет-каталога Oracle На рис. Распределение каталога выполняется либо методом тиражирования (replication). но в любом случае связывается с ней при помощи Net8. здесь можно увидеть. а во-вторых. сервер возвращает результаты клиенту. которая играет роль вершины. делается точная копия объекта. а если один из распределенных каталогов станет недоступен. либо разделить его на несколько уникальных. сокращается объем работы. Сервер.5 показаны связи между клиентами LDAP и Интернет-каталогом Oracle. Во-первых. Таким образом. Кроме того. то другие группы пользователей смогут продолжать работу. так и все информационное дерево каталога. поэтому он может содержать как одну запись. В таблице 5. устраняется потенциальное узкое место. данные каталога делятся на единицы. расположенное на одном сервере и начинающееся с записи. что все они являются приложениями. как это делают прослушивающий процесс и сервер имен Oracle. Клиенты LDAP посылают запросы к серверу Интернет-каталога Oracle. то будете правы на все 100 процентов. либо до записей-листьев.3 перечислены компоненты Интернет-каталога Oracle и даны их описания. В чем их различие? При тиражировании. увеличивается объем хранимых данных. сервера имен Oracle и Интернет-каталога Oracle? Если вы скажете. то будете правы лишь отчасти. . Чтобы реализовать распределение. Завершив поиск. сохранив их логическую централизацию. либо до ссылок на подчиненные контексты именования. которую должен выполнять каждый отдельный сервер. которые могут выполняться на сервере OracleSi. Для взаимодействия с базой данных OracleSi используются OCI и NetS. как следует из самого названия. не перекрывающихся контекстов именования и поместить каждый из них на отдельную машину. какую роль играет NetS в осуществлении связи каталога с базой данных OracleSi. что и база данных Oracle. тогда как разделение означает деление на части. Теперь посмотрим. для распределения каталога можно либо целиком скопировать контекст именования на другую машину. называемые контекстами именования (naming contexts). в свою очередь. Но если вы ответите. служащих конечными точками. соединяется с базой данных OracleSi и производит поиск запрошенной информации.

5.155 Интернет-каталог Oracle Клиенты LDAP Сервер Интернет-каталога Oracle Рис. а также просматривать и модифицировать уже существующие. называемой configset. О менеджере OID будет подробно рассказано далее. выдаваемые из утилиты Oracle Internet Directory Control (oidctl). Связи Интернет-каталога Oracle с Net8 Параметры конфигурации отдельного экземпляра сервера каталога хранятся в конфигурационной записи. В случае аварийного останова экземпляра монитор производит его перезапуск и отмечает в записи реестра новое время запуска. использует информацию из configset. Команды запуска и останова сервера. Для настройки среды можно создавать новые записи. посредством которых монитор OID контролирует состояние серверов.5. Монитор Интернет-каталога Oracle. . содержат ссылку на одну из конфигурационных записей. После запуска экземпляра монитор OID помещает соответствующую запись в реестр экземпляров каталога и обновляет данные в таблице процессов. При установке Интернет-каталога Oracle создается стандартная конфигурационная запись с именем configsetO. После останова экземпляра записи из реестра и таблицы процессов удаляются. Действия монитора OID протоколируются. Наличие заранее сконфигурированной записи позволяет запускать сервер Интернет-каталога сразу же после установки. в файле журнала ORACLE_HOME/ldap/log/oidmon.log. обрабатывающий запрос утилиты oidctl. используя менеджер OID или инструменты командной строки. Механизмы. предоставляются операционной системой.

контролирует и завершает процессы сервера ШАР. ожидая поступления команд LDAP. Прежде всего это процесс диспетчера OID. Сервер тиражирования Отслеживает изменения и рассылает их по всем серверам. Для выполнения своих функций процесс диспетчера OID содержит механизмы прослушивания и диспетчеризации. монитор OID будет контролировать и его. Обработка клиентского запроса Чтобы проследить за обработкой клиентского запроса. Если установлен сервер тиражирования.3. База данных может располагаться на том же узле. При запуске сервера каталога LDAP создаются серверные процессы. Монитор OID (oidmon) Запускает. входящим в систему Интернет-каталога Oracle. На узле может быть только один сервер тиражирования. Команды oidctl интерпретируются монитором OID (oidmon). необходимые для запуска экземпляров OID. Для обработки запроса каждого клиента серверные процессы порождают отдельный рабочий поток (worker thread). По умолчанию создается один процесс. как клиент решил ввести поисковый запрос. При наличии на машине более чем одного сервера ШАР каждый экземпляр должен прослушивать отдельный порт. что происходит после того. прослушивающего определенный порт TCP/IP (по умолчанию это порт 389. Компоненты Интернет-каталога Oracle Компонент Описание Экземпляр сервера ШАР Обслуживает запросы к каталогу при помощи единственного процесса диспетчера. По умолчанию этот параметр равен 10. Запуск более чем одного серверного процесса позволяет использовать преимущества многопроцессорных систем. Наличие этого сервера не является обязательным. которые может установить каждый серверный процесс. посмотрим. если не используется SSL. который прослушивает назначенный ему порт. Процессы диспетчеров и серверные процессы Интернет-каталога Oracle используют множественные потоки. База данных OracleSi Хранит данные каталога. Утилита OID Control (oidctl) Используется для запуска или останова экземпляров сервера каталога. что и серверы. или на отдельном узле. Корпорация Oracle рекомендует использовать разные базы данных для OracleSi и сервера Интернет-каталога. количество которых определяется параметром конфигурации orclserverprocs. Параметр orclmaxcc определяет максимальное количество соединений с базой данных. Итак. вы должны понимать. Для связи с oidmon утилита oidctl помещает в таблицы сервера OID данные сообщений. . и порт 636 при использовании SSL). в том числе параметры конфигурации.156 Глава 5 Таблица 5. из каких компонентов состоит экземпляр сервера каталога LDAP.

чтобы убедиться в наличии у пользователя привилегий. называемого связыванием (binding). какие привилегии требуются для выполнения запрашиваемой операции. поэтому уделим некоторое время анализу важного шага. • Фильтры: используются для сужения области поиска и могут включать булевы операторы. При использовании инструмента командной строки 0-функция этого API вызывается напрямую. 6. либо инструмент командной строки. 2.Интернет-каталог Oracle 157 1. которая будет отослана клиенту через сервер каталога и API С. 3. База данных OracleSi анализирует запрос сервера каталога точно так же. Сервер каталога преобразует поисковый запрос из формата LDAP в формат интерфейса вызовов Oracle (OCI) и передает его через Net8 базе данных OracleSi. Этот интерфейс. 5. Возможно также использование условных операторов GREATER THAN. как и любой другой запрос. При использовании менеджера OID сначала вызывается функция запроса из собственного интерфейса Java (Java Native Interface).6. Посредством процесса. Сначала вы увидите экран Available Products (Доступные продукты). например AND. Oracle Management Infrastructure 8. 5. где нужно выбрать третий вариант. OR и NOT. Без SSL запрос посылается открытым текстом и может быть легко прочитан анализатором протоколов. и выбирает информацию. сервер каталога выполняет аутентификацию пользователя и проверяет списки управления доступом (ACL).0. в свою очередь. щелкните на кнопке Next. • Тип пользователя: авторизованный или анонимный — в зависимости от того. позволяющих выполнять запрашиваемый поиск. 4. показанный на рис.1. довольно трудно разобраться в процедуре начальной установки Интернет-каталога Oracle. . Сделав этот выбор. Клиент вводит поисковый запрос. Запрос посылается экземпляру сервера каталога с использованием протокола LDAP. Установка Интернет-каталога Oracle Используя только документацию Oracle. EQUAL TO и LESS THAN. обращается к интерфейсу прикладного программирования (API) С. который может содержать одну или несколько из следующих опций: • SSL: протокол Secure Socket Layer обеспечивает шифрование и аутентификацию или только шифрование. Для установки OID необходимо использовать универсальный установщик Oracle (Oracle Universal Installer). и перед вами появится экран Installation Types (Типы установки).0.6. Для ввода команды клиент может использовать либо менеджер OID.

1. что для установки требуется 723 мегабайта. За ходом установки можно следить по сообщениям. Далее вы увидите. Диапазон значений — от "менее 10 000" до "более 1 000 000". если в системе уже установлены другие продукты OracleSi. Установка поразительно легка. 5. В данном примере выбрано No. которые предполагается хранить.1. . но не значение.0 What type of installation do you want Infrastructure S. Затем вам будет предоставлена возможность решить. затраты дискового пространства будут намного меньше. нужно ли шифровать атрибут userPassword. что отличительным именем области будет "cn=orcladmin". Следующий экран позволяет указать примерное количество записей каталога. Release 2.0.6. если знать.6. поэтому на следующем экране сообщается. отображаемым на экране Configuration Tools. Показанный размер соответствует полной установке OracleSi. and dent-side development Kit ustom . в ходе установки OID вам будет предложено либо использовать существующий экземпляр.0? X Oracle Management Server (241 fristarts drectory services and enterprise Directory. Of aetewectwy Manager. какие действия можно выполнять над Интернет-каталогом Oracle. Экран выбора типа установки Когда в системе уже присутствует OracleSi. то на следующем экране потребуется ввести его SID. client tootee*. Теперь рассмотрим набор инструментов OID. . Enables yoUlo choose individual components lo insl Рис. Обратите внимание: хотя на экране сообщается.0. В заключение вам будет предложено подтвердить количество и типы устанавливаемых продуктов.8. чтобы отказаться от шифрования. Для пароля по умолчанию показывается длина.158 Глава 5 illation Types OracleSi Management Infrastructure 8. . и после этого начнется фактическая установка. что этим паролем является "welcome". Если вы остановитесь на существующем экземпляре. чтобы вы знали. либо создать новый. как она выполняется.

Чтобы воспользоваться этими инструментами. Вот их список: • Инструменты командной строки для манипулирования отдельными записями и атрибутами. записанными в формате обмена данными LDAP (LDAP Data Interchange Format. LDIF) » Инструменты командной строки для групповых операций. либо из строки приглашения UNIX. состоит из инструментов для манипулирования записями и атрибутами. а также копировать данные из информационной базы данных каталога в LDIF-файл для последующей групповой загрузки • Утилита OID Control. тогда как другие можно использовать для выполнения операций над целыми группами записей. Вызов этой утилиты выполняется с уровня операционной системы — либо из строки приглашения DOS (в системе Windows NT). Одни инструменты позволяют работать с индивидуальными записями. Инструменты командной строки В главе 3 мы рассматривали прослушивающий процесс и утилиту Listener Control (Isnrctl). с помощью которого можно выполнять задачи администрирования. каждый из которых ориентирован на решение определенных типов задач. вы должны создать . Инструменты для работы с отдельными записями и атрибутами Первая группа инструментов командной строки.Интернет-каталог Oracle 159 Инструменты Интернет-каталога Oracle Для взаимодействия с сервером Интернет-каталога Oracle и его администрирования можно использовать несколько инструментов командной строки и один графический инструмент. предназначенная для установки и смены паролей (по умолчанию для Интернет-каталога Oracle устанавливается пароль "ODS") • Графический инструмент OID Manager. Для управления самим каталогом предусмотрен ряд отдельных инструментов. Сначала мы рассмотрим каждый . <из инструментов командной строки. которую мы рассмотрим. предоставляемые каждым из этих инструментов. а в конце главы изучим графический инструмент — менеджер OID. Работают с текстовыми файлами. предназначенный для администрирования OID и управления им Изучим возможности. модифицировать и удалять большие количества записей. Для сервера Интернет-каталога Oracle существует несколько различных инструментов командной строки. позволяющие эффективно загружать. Такой же подход используется и в утилите сервера имен Oracle (nariiesctl). предназначенная для запуска и останова серверных процессов OID • Инструмент Catalog Management • Утилита OID Database Password.

. Idapaddmt Параллельное добавление нескольких записей за счет использования многопоточности. .' -• • . затрагивающих большое количество записей. Idapmoddn Модификация DN или RDN записи.'.4. С их помощью можно выполнять групповую загрузку данных. "'-< . Каждая запись в этом файле будет представлена своим отличительным именем и списком атрибутов. . работающих с форматом LDIF. С помощью этого инструмента можно создавать файл для последующей групповой загрузки. Idapadd Поочередное добавление записей. Таблица 5. переименование записи или поддерева. • ' . модифицировать или удалять группы записей каталога. Idapsearch Поиск записей каталога. bulkdelete Быстрое удаление поддерева. Таблица 5. по одному атрибуту в строке. работающие с форматом LDIF Инструмент Описание . который может быть прочитан любым LDAP-совместимым сервером каталога. * . Idifwrite Копирование данных из информационной базы каталога в LDIF-файл. Idapdelete Удаление записей.5. а также. . п • ••. перемещение записи или поддерева под другую родительскую запись. i •.4 перечислены названия инструментов командной строки. Idapcompare Просмотр записи на наличие указанного значения атрибута. Инструменты командной строки для групповых операций с данными ': Инструмент Описание bulkload Загрузка большого количества записей в Интернет-каталог Oracle из LDIF-файлов. копировать данные в LDIF-файл для последующей групповой загрузки в другой каталог. которые они позволяют решать. и • -О . • . Idapmodifymt Параллельная модификация нескольких записей за счет использования многопоточности.' Idapmodify Создание. обновление и удаление данных атрибута в определенной записи. В таблице 5. Инструменты для работы с группами записей Вторая группа инструментов командной строки используется для выполнения операций. и даны их описания. В таблице 5.5 перечислены все эти инструменты и описаны задачи. Инструменты командной строки. а также выполнять резервное копирование информации всего каталога или его частей. Idapbind Аутентификация пользователя/клиента на сервере каталога. bulkmodify Одновременная модификация большого количества существующих записей.Глава 5 160 записи в формате LDIF и поместить их в текстовый файл.

Теперь посмотрим. на другой было достаточно установить значение NLS_LANG. Остальные доступные параметры не являются обязательными. задайте подходящий набор символов UTF8". Тип запускаемого сервера. Соответствующие команды интерпретируются и выполняются процессом монитора OID. равная OIDLDAPD. На момент написания книги служба поддержки Oracle не могла предложить какого-либо решения этой проблемы.UTF8. На одной платформе перед запуском процесса требовалось построить базу данных с использованием набора символов UTF8.6.6. Для запуска экземпляра LDAP-сервера используется следующий синтаксис: Q oidctl соппес1=<имя_сетевой_службы> server=OIDLDAPD 1п51апсе=<номер_экземпляра_сервера> start Учтите. Параметры утилиты управления Интернет-каталогом Oracle Параметр Описание net_service_name Имя.ora. если он сконфигурирован. если не используется тиражирование. Команда oidctl активизирует утилиту OID Control. Этот файл располагается в каталоге ORACLE_HOME/network/admin. "' . указанное в файле tnsnames. Для Интернет-каталога Oracle с именем сетевой службы OID1 и номером экземпляра. Please set NLS_LANG to the appropriate UTF8 character set. какие параметры может иметь утилита OID Control. Номер экземпляра можно выбирать произвольно. Вы должны указать имя службы и номер экземпляра. команда запуска будет выглядеть следующим образом: Q oidctl connect=OID1 server=OIDLDAPD instance=2 start Внимание При попытке запустить процесс Интернет-каталога Oracle вы можете получить следующее сообщение об ошибке: "NLSJ-ANG not set in environment. что имя сервера — это константа.) В этом случае нужно ввести в строке приглашения операционной системы команду set NLS_LANG=AMERICAN_AMERICA.. Пожалуйста." ("Переменная среды NLS_LANG не установлена. Они перечислены в таблице 5. равным 2. а затем повторить команду start. server . Допустимые значения — OIDLDAPD и OIDREPLD. и OIDREPLD в противном случае. Таблица 5.Интернет-каталог Oracle 161 Утилита OID Control Утилита OID Control предназначена для запуска и останова серверного процесса Интернет-каталога Oracle. Регистр символов не учитывается.

-h имя_хоста Имя хоста. протоколирование включено. . запускаемых на данном порту. После установки OID список доступных для поиска атрибутов содержится в записи cn=CATALOGS. -I Включает и выключает протоколирование изменений при тиражировании. Командная строка имеет следующий синтаксис (на моей машине с Windows NT сценарий catalog. Допустимые значения — числа в диапазоне от 0 до 1000. перечисленные в файле. •server n • .•••.•«!'"' •' Номер порта.'"ii-I Количество серверных процессов. по умолчанию — TRUE. stop Останавливает сервер. Инструмент Catalog Management позволяет добавлять или удалять индекс для указанного атрибута. Атрибут. Инструмент Catalog Management Чтобы сделать атрибуты доступными для поиска. используя инструмент Catalog Management. • • | [ ] il. Аналогичным образом можно удалить индекс одного атрибута или индексы всех атрибутов. . может быть проиндексирован. Уровень отладки. -р номер_порта -debug уровень_отладки : Описание I .6 (продолжение) Параметры утилиты управления Интернет-каталогом Oracle Параметр serverjnstancejiumber Номер экземпляра запускаемого сервера. указанный аргументом server. который будет использовать запускаемый экземпляр сервера. start Запускает сервер. Параметр применим только для сервера каталога. вы сможете восстановить этот параметр в исходное состояние.sh находился в каталоге ORACLE_ HOME\ldap\bin): Q catalog. Допустимые значения — числа в диапазоне от 0 до 1000. Чтобы использовать в фильтрах поиска дополнительные атрибуты. . Атрибуты в файле должны быть перечислены по одному в строке. Возможные значения TRUE и FALSE. Завершив сеанс работы с инструментом. используемой при запуске сервера. .162 Глава 5 Таблица 5. на котором запускается сервер. то перед запуском инструмента Catalog Management необходимо сбросить параметр LANG. По умолчанию используется configsetO. По умолчанию используется порт 389. • ' . необходимо добавить соответствующие записи. Если вы работаете в системе UNIX. перечисленных в файле. либо все атрибуты. для которого задано правило сравнения. который будет установлен при запуске сервера. а в оболочке С — командой unsetenv lang. configsetjiumber Номер конфигурационной записи (configset). В оболочке Когп это делается командой unset lang. в Интернет-каталоге Oracle используются индексы.• .sh -connect <имя_сетевой_службы> <add|delete> -attr <имя_атрибута> -file <имя_файла> Можно проиндексировать либо отдельный атрибут. Если этот флаг не указан. указанный аргументом server.

необходимо знать пароль пользователя OID. в свою очередь. Утилита O1D Database Password Соединяясь с базой данных. можно запускать менеджер OID и начинать с ним работать. Завершив действия с индексами. Менеджер О!В Менеджер OID — это единственный графический инструмент в инструментальном наборе Интернет-каталога Oracle. При этом предполагается. В системе UNIX нужно ввести следующую команду: Q oidpasswd После активизации утилиты у вас будут запрошены текущий пароль. то необходимо использовать параметр соппес1=<имя_сетевой_службы>. После запуска монитора ОЮ можно запускать экземпляр сервера. Когда монитор ОШ и экземпляр сервера запущены. Запуск и останов монитора OID Перед запуском монитора ОШ необходимо установить нужный язык. Утилита OID Database Password позволяет его изменить. По умолчанию считается. Значение sleep сообщает монитору OID. До запуска этого инструмента у вас должен быть запущен экземпляр сервера каталога. сколько секунд необходимо выждать перед проверкой на наличие новых запросов от утилиты OID Control и запросов на перезапуск серверов. возможен только после запуска демона OID Monitor. По умолчанию это 10 секунд. Имя_сетевой_службы — это имя. .ora для сервера OID. только "start" заменяется на "stop". которая была описана ранее. или setenv lang <используемый_язык> в оболочке С. Если это не так. которые могли остановиться. OID использует пароль. Как упоминалось выше.Интернет-каталог Oracle 163 Чтобы успешно запустить инструмент Catalog Management. В конце главы 9 будет описано. новый пароль и подтверждение нового пароля. что вы намерены изменить пароль для базы данных. введя 8е1_1аг^=<используемый_язык>. вы можете восстановить параметр LANG. Это делается с помощью утилиты OID Control. Для остановки монитора OID используется тот же синтаксис. на которую указывают переменные среды ORACLE_HOME и ORACLE_SID. как создать Интернет-каталог Oracle при помощи инструмента Net8 Configuration Assistant. Запуск экземпляра сервера. После этого в строке приглашения операционной системы вводится команда запуска: Q oidmon <соппес1=имя_сетевой_службы> <з!еер=количество_секунд> start Аргументы connect и sleep — необязательные. export lang в оболочке Когп. если он отличается от используемого по умолчанию (AMERICAN_ AMERICA). которое указано в файле tnsnames. паролем по умолчанию служит ODS. что вы создали Интернет-каталог Oracle и установили в системе программное обеспечение OID.

используемый в менеджере QID по умолчанию (welcome). либо пароль. Щелкните на кнопке ОК. В UNIX для этого используется команда oidadmin.с=<страна>. 5. а в поле Password —либо пароль суперпользователя. выберите нужное имя пользователя с помощью кнопки Browser или введите отличительное имя в следующем формате: сп=<имя>. оставьте поля User и Password пустым».7. i /• > • Если вы уже создали учетную запись пользователя с помощью инструментов командной строки. 5. Рис. ои=<организационная единица>.Programs >• Oracle ORACLE_HOME >.Oracle Internet Directory »• Oracle Directory Manager. о=<организация>. Начальный экран менеджера каталога Oracle . Независимо от способа входа в конечном итоге вы увидите экран-заставку. показанный на рис. которую нужно ввести в строке приглашения операционной системы.7. Вот список подходящих имен и паролей для первого входа: • Чтобы войти в качестве суперпользователя с целью конфигурирования параметров SSL. нужно выбрать пункт меню Start >. который вы задали при установке. Теперь поступит предложение ввести имя пользователя и пароль. • Чтобы войти в качестве анонимного пользователя.Глава 5 164 Менеджер Интернет-каталога Oracle Чтобы запустить менеджер Интернет-каталога Oracle в системе Windows NT. При первой попытке входа вам будет указано на необходимость соединиться с сервером. введите в поле User строку cn=orcladmin.

выбранным в панели навигатора (или отсоединение от него). После конфигурирования Интернет-каталога Oracle вы увидите пункты Subtree Access Management (Управление доступом к поддереву). Entry Management (Управление записью). вы сможете конфигурировать протокол Secure Socket Layer и управлять незащищенным доступом к каталогу. Для выполнения всех этих действий можно использовать либо раскрывающиеся меню. Schema Management (Управление схемой) и Audit Log Management (Управление журналом аудита).7. атрибуты. так и файлы. хранящихся в памяти (кроме записей) с целью отражения изменений в базе данных. Круговая стрелка Регенерация или обновление данных для объектов. "Регенерировать запись" Обновление данных записи. с целью отражения изменений в базе данных. либо пиктограммы на панели инструментов. начиная с самой левой. хранящихся в памяти. Таблица 5. которые в точности повторяют уже существующие. записи и точки управления доступом. Карандаш Редактирование или модификация объекта. удалять индексы. В таблице 5. Пиктограммы панели инструментов менеджера каталога Oracle Пиктограмма Описание Провод с разъемом Соединение с сервером каталога. создавать как оригинальные файлы. "Регенерировать подзапись" Обновление подзаписей. управлять записями.Интернет-каталог Oracle 165 Менеджер каталога Oracle позволяет создавать объектные классы. "Создать" Создание нового объекта. "Создать по образцу" Создание нового объекта с использованием другого объекта в качестве шаблона. "Удалить индекс" Удаление индекса для атрибута. с целью отражения изменений в базе данных. Кроме того. . регенерировать записи и подзаписи.7 приведены краткие описания пиктограмм панели инструментов менеджера OID. Бинокль Поиск объекта. хранящейся в памяти. Корзина Удаление объекта. На это действие будет запрошено подтверждение. "Справка" Вызов справочного навигатора.

.

Планирование сети .

которые предполагается поддерживать. поэтому вам не потребуется выбирать базовые сетевые протоколы. Но какое отношение все это имеет к сетям? Как правило. и тогда появится возможность делать массу вкусных салатов. как. дней или даже недель — на обдумывание предстоящих шагов. Кроме того. Принимаемые решения будут зависеть как от базовой сети. то можно все лето ставить на стол красивые букеты. даже если планируется ничего не планировать! Что касается сетей. Если вырастить еще и цветы разной высоты. какое нужно оборудование и программное обеспечение. Создание плана сети Итак. перец. Это будет так здорово! Но какого размера должен быть участок? Где и когда будем высаживать растения? Следует ли сажать разные растения в разное время? Нужен ли им яркий солнечный свет или полутень? Какого типа почва потребуется? Как поливать растения? Стоит ли использовать инсектициды? Чтобы спланировать. морковь и огурцы. Предварительное планирование позволит получить представление о масштабах проекта. и спланирует каждый шаг по установке и конфигурированию. наилучший подход к выполнению любой работы состоит в том. являетесь) обязательно выяснит. понять. какого вида планы вам нужны? О чем необходимо подумать и какие решения должны быть приняты? Скорее всего. во время планирования нам предоставляется отличная возможность убедиться в том. Вы говорите. придется поискать ответы на множество вопросов. в какой последовательности должны выполняться отдельные задачи. что никогда не занимались планированием? Это не так — по ходу жизни все мы так или иначе составляем планы. салат. обеспечив тем самым успех в реализации проекта. какие требования предъявляются клиентами. цветы или все вместе? Кажется. при планировании сетевой конфигурации Oracle вам не придется начинать с нуля. Но что же посадить — овощи. несомненно. так и от приложений. то мудрый человек (которым вы. я знаю! Посажу помидоры. чтобы перед началом практических действий остановиться и потратить некоторое время — несколько минут. что ничего не пропущено. а также определить потребности в оборудовании или других ресурсах. Организация сети требует не менее тщательного обдумывания. которую вы должны будете принять за основу. четко сформулировать конечную цель. планирования и подготовки.168 Глава 6 1едавно я приобрела замечательную книгу по садоводству и решила заняться посадками. где и когда делать посадки. Большинство организаций уже имеют готовую сеть. чем проектирование базы данных или посадка огурцов. редис. .

Будут ли использоваться определенные соглашения об именовании прослушивающих процессов. Вопросы приведены здесь в произвольно выбранной последовательности. что вы вносите изменения именно в базу данных А на узле А. Рассмотрим каждую область и те вопросы. могут потребовать согласования с вышестоящим начальством. вы можете идентифицировать базу данных. служб и экземпляров! При наличии нескольких разных серверов. Ответы на них формируют основу для принятия всех остальных решений. с которыми предстоит взаимодействовать. На некоторые из них в вашей среде уже могут быть даны ответы.6): LJ column NAME format a20 column VALUE format a40 select NAME. считываются базами данных во время запуска. „Это облегчит идентификацию баз данных.Планирование сети 1(59 Вопросы Чтобы определить. на которые вам потребуется отвечать. Просмотреть значения имен можно при помощи следующего запроса (выходные данные соответствуют базе данных версии 8. Вопросы управления Вопросы. имеет смысл выработать соглашения об именовании прослушивающих процессов. Для этого необходимо иметь привилегии. нужно ответить на много вопросов. Кроме того. Иногда трудно проверить. какой должна быть сетевая конфигурация Oracle в вашем конкретном случае. Поскольку имена служб и экземпляров перечислены в файле init. не все из рассматриваемых ниже вопросов имеют отношение к любой компании или системе. определяющих конфигурацию сети Oracle. позволяющие обращаться к представлению V$PARAMETER. VALUE . относящиеся к области управления. если на узлах В.ora каждой базы данных. Вопросы можно разбить на следующие общие категории: • Управление • Сеть • Сервер • Соединение • Резервное копирование и восстановление Несмотря на то что все эти категории в равной степени важны. входящие в них вопросы образуют определенную логическую последовательность. на каждом из которых запускается один или несколько прослушивающих процессов. служб и экземпляров. С и D также присутствуют базы данных А. а следовательно. с которой взаимодействуете.1. непосредственно из приложения.

пользуйтесь стандартами именования. Во-вторых. что для имен экземпляров используется имя узла. Во-первых. Соглашения об именовании имеют и свою отрицательную сторону. поскольку значения хранятся в базе данных именно в таком виде. Короче говоря. SYSTEM и SYS. тогда как имена остальных параметров — в единственном. Это должно послужить вам дополнительным аргументом в пользу выработки единого подхода к именованию баз данных. 'db_name'). если известно. используя это знание. аргументы конструкции where записаны в нижнем регистре. Возможно. Если известно. что какие-то из этих стандартных имен и паролей не менялись с момента создания базы данных. но не делайте их слишком очевидными. NAME VALUE instance_name service_names db_name ord orc1. тогда как знание имени первого экземпляра дает шанс войти в базу данных путем перебора известных имен пользователей . я точно знаю. Подобная несогласованность внутренних имен Oracle встречается и во многих других местах. экземпляров и прослушивающих процессов.170 Глава 6 from VSPARAMETER where NAME in ('instance_name'. имя параметра service_names записано во множественном числе. Тем самым мне автоматически становится известно имя вашего первого прослушивающего процесса на этом узле (PRODLIST1).SCOTT. DBSNMP. Имя прослушивающего процесса не слишком поможет мне при попытке "взломать" вашу систему. Например. что соглашения об именовании могут облегчить доступ к базам данных и злоумышленникам. то можно с тем же успехом составлять имена ваших экземпляров. что ваш узел называется PROD. обеспечив тем самым согласованность и облегчив клиентам доступ к базам данных. 'service_names'. Однако при этом вы должны учитывать. а также имя первого экземпляра (PRODDB1). . позволяющего избежать путаницы в определении их местонахождения. Они дают посторонним лицам потенциальную возможность изучить вашу структуру имен. Нет ничего плохого в том. слово "DB" и последовательный номер.world ord В этом запросе нужно отметить два момента. Предположим. Тем не менее стандарты именования имеют смысл. что вы всегда называете прослушивающий процесс по имени узла с добавлением слова "LIST" и последовательного номера. особенно при наличии множества баз данных. чтобы ввести соглашения об именовании и следовать им. то по этой информации можно составить имя вашего прослушивающего процесса. Это сделано намеренно. а затем проникнуть в систему.

изменяющимися на регулярной основе. Использование сервера имен упрощает администрирование сети Oracle. Локальное именование рекомендуется для простых распределенных сетей с небольшим количеством редко изменяемых служб и небольшим числом клиентских машин.ora на каждой из клиентских машин. Для реализации именования по каталогу используется LDAP-совместимый qepsep каталога (протокол LDAP рассматривался в главе 5). что все изменения нужно выполнять только в одном месте. поскольку в отличие от локального именования все изменения выполняются в одном месте. а не в потенциально огромном количестве файлов. При использовании локального именования имена сетевых служб хранятся в локальном файле конфигурации tnsnames. При удалении базы данных из системы следует удалить ссылки на нее из всех файлов tnsnames. Даже при наличии нескольких серверов имен вам достаточно изменить информацию только на одном из них. как было описано в главе 4. При использовании сервера имен Oracle информация обо всех службах Oracle заносится в централизованное хранилище. а это может представлять потенциальную угрозу безопасности системы. что позволяет устанавливать соединения по разным протоколам. Каталог может хранить имена разнородных служб. что на серверах имен Oracle можно хранить имена и адреса только служб Oracle. но это не так. а это означает. Недостатком является то. этот вопрос похож на предыдущий. Недостатком.Планирование сети 171 Какие методы именования будут использоваться — локальное именование. ниже кратко рассматривается каждый из перечисленных методов именования. именование по каталогу. Доступ к информации р соединениях в этом случае относительно прост. Сервер каталога LDAP обеспечивает централизованное хранение сетевых имен и адресов. присваиваемых каждому элементу сети. является необходимость реконфигурирования каждого файла при любом изменении в сети. что вы можете конфигурировать каждый файл в соответствии с потребностями конкретного клиента.ora для каждого клиента. о котором упоминалось в главе 4. Сейчас речь идет о способе поддержки клиентских соединений и разрешения имен сетевых служб в адреса серверов. что клиентам требуется обращаться к каталогу. Первый вопрос касался формы записи имен. которому требуется получать к ней доступ. Чтобы помочь вам в принятии решения. после чего изменения будут автоматически распространены по остальным серверам. внешнее именование! Казалось бы. а кроме того. а установка и начальное . Недостаток такого подхода к именованию заключается в том. используемых для соединений. Сервер каталога LDAP рекомендуется использовать в больших сложных сетях с более чем 20 базами данных.ora. именование Oracle. то должны модифицировать файл tnsnames. Достоинство локального именования в том. можно разрешать имена сетевых служб в адреса. если вы добавляете новую базу данных. соответствующие различным протоколам. именование по хосту. Например.

что именование на основе сервера каталога LDAP окажется более перспективным. где я работала. что необходимо изменить и метод именования. и при этом они не могут пользоваться услугами менеджера соединений Oracle. отличными от Oracle. изменяющимися на регулярной основе. время выполнения запросов к базам данных может непосредственно зависеть от остального сетевого трафика вашей системы.172 Глава 6 конфигурирование серверов имен требуют определенных усилий с вашей стороны. И клиент. что потребности в соединениях изменились. но смею вас заверить. используя уже освоенные утилиты. Если вы работаете в крупной компании. составление планов может оказаться пустой тратой времени. Если для доступа пользователей к их системам планируется использовать единый вход. что это решение не обязательно должно приниматься раз и навсегда. то возможно. У вас есть возможность загрузить информацию об именах во внешнюю службу. Подобно серверу каталога LDAP. вам и вашему руководству нужно решить. вы сможете избежать бесполезной работы. касающиеся сети! На первый взгляд этот вопрос кажется риторическим. Точно так же. все начиналось с локального именования. В результате мы постепенно перешли на использование сервера имен Oracle. Не существует "правильного" или "неправильного" метода именования. сетевой информационной службы (NIS) или централизованно ведущегося файла со списком хостов TCP/IP. Заранее выяснив. Такой подход требует минимального конфигурирования на стороне клиента (пользователю нужно указывать только имя хоста). службы имен доменов (DNS). как сетевой трафик Oracle может оказать влияние на работу базовой сети. Такой подход позволит избежать дополнительного конфигурирования. то для разрешения имен служб Oracle можно использовать внешнее именование. что лучше всего подходит для вашей организации. Именование по хосту доступно в ограниченном числе сред. что вы не сможете соединяться с базами данных. от кого зависит выделение средств на реализацию тех или иных сетевых решений. В одной компании. но вместе с тем накладывает ряд ограничений. о которых необходимо знать. Через какое-то время вы можете обнаружить. с кем нужно согласовывать планы. что это не так! Пока вы не разобрались. а вместе с ними должен измениться метод именования. Когда масштабы системы изменились. Это означает. разочарований и огорчений. и сервер должны использовать TCP/IP. Кто уполномочен принимать решения. что перед построением сети Oracle вам потребуется получить согласие нескольких людей. мы поняли. сервер имен Oracle лучше всего подходит для больших сложных сетей с более чем 20 базами данных. В случае именования по хосту разрешение имен служб в IP-адреса может выполняться при помощи уже существующего механизма. например. то не исключено. Имейте в виду. . Если в вашей среде уже сконфигурирована служба имен другого производителя.

Имейте в виду. который обещает наибольшую отдачу. но постарайтесь в процессе принятия решения не зацикливаться на одном подходе. Вы можете оказаться в неловком положении. поскольку он наиболее оправдан с коммерческой точки зрения" может оказаться недостаточно> чтобы ваше решение было одобрено. Здесь уместно высказать одно предостережение. понимает все "за" и "против" каждого предлагаемого решения.Планирование сети 173 За кем будет последнее слово при выборе конфигурации и протоколов! Как и в предыдущем вопросе. Смысл сказанного сводится к следующему: не старайтесь делать конфигурацию чересчур элегантной. что человек. чья компания начинала процесс разработки под одной версией Oracle. Я знаю. Однако усилия по обновлению множества файлов. Как вы видели в главе 4. Имейте наготове несколько веских обоснований и убедитесь. a теперь пересматривает свои решения. и возможно. Зачастую такие люди не слишком разбираются в технических деталях. например. что эти люди не обязательно отдают приоритет самым дешевым вариантам. улучшенная (по рекламным заявлениям) версия. выраженные в денежном эквиваленте. прежде чем предпочесть одно решение всем остальным. их скорее заинтересует тот вариант. кто принимает окончательное решение. которая будет удовлетворять системным требованиям. время администрирования и время простоя в предлагаемой сетевой конфигурации?" При подготовке предложения для руководителей высшего звена нужно учитывать. когда не удается получить согласие других участников процесса. кого нужно обучать в первую очередь. что это нелегко. которому принадлежит последнее слово.ora. тогда как для использования локальных файлов tnsnames.выбора. чтобы получить согласие на реализацию самого эффективного решения. что мы должны выбрать вариант А. если будет предложен и принят другой вариант. Возьмем. сервер имен Oracle в сравнении с множеством локальных файлов tnsnames. вы поймете. что . Кроме того. Выяснив. служба ONames обычно размещается на отдельной машине. что вам потребуется провести "разъяснительную работу". Создавайте такую конфигурацию. поскольку появилась новая. что некоторые методы построения сети Oracle обходятся дороже. Будьте гибче и постарайтесь рассмотреть вопрос со всех сторон. Будет ли самый дешевый вариант наилучшим? Этот вопрос можно сформулировать и так: "Как соотносятся финансовые затраты. если во время разработки приложений выйдут новые или улучшенные версии продуктов Oracle? Недавно я получила по электронной почте письмо от одного человека. Что делать. Мир Oracle устроен так. Фразы: "Я думаю. к которому предстоит обращаться в том случае. вскоре превысят затраты на создание серверов имен Oracle. но не выходите при этом за рамки разумного. не забудьте подобрать понятные и убедительные аргументы в пользу своего. чем другие. речь идет об идентификации лица.ora дополнительное оборудование не нужно.

каждая часть системы зависит от других частей. нужно тщательно все обдумать и просчитать наперед.5 до 7. Как в картинке. Устранение проблем.3. решила обновить версию 7. основанных на старых.2. привело к некоторым задержкам и повлияло на общий график наших работ.6. Я предпочитаю звонить в службу поддержки Oracle и узнавать об известных ошибках. но пока не видела основной версии. проблемах и пакетах исправлений.1. Я работаю с продуктами Oracle долгое время. которая была бы совершенно стабильной с самого начала. Даже промежуточные версии могут создавать большие проблемы. причем как незначительным. которые рекламируются? . доступных функциях. что нам придется обновлять операционную систему с V6. которое решило проблему интероперабельности. прежде чем начинать обновление.174 Глава 6 на горизонте почти всегда будет вырисовываться следующая. без каких новых функций действительно нельзя обойтись.2 до V7. а также производить миграцию приложения Oracle Financials с V9. В такой ситуации весьма вероятно возникновение непредвиденных проблем. выбирая момент перехода на новую версию Oracle. Модификация одного компонента может затрагивать несколько других. Три обновления сразу! Одновременно с этим нам пришлось бы внести несколько довольно тонких изменений в сетевую конфигурацию.2 на машинах с Alpha OpenVMS. который нужно учесть. На последней конференции я услышала чью-то фразу: "Конечно. вам всегда следует работать с самым последним выпуском продуктов Oracle!" Но так ли это? Есть ли смысл автоматически переходить на только что выпущенную версию РСУБД? Что нужно учесть перед тем.4. который приходит в голову. и чтобы система эффективно функционировала.3. таков: будет ли текущая версия операционной системы поддерживать новейшую версию Oracle? Когда компания. При переходе на только что вышедшую версию вы не знаете. постарайтесь совместно с разработчиками определить. Другой фактор. Рассматривая возможность обновления или миграции.2 на V10. установив исправление (patch). как принимать решение о миграции на новую версию продуктов Oracle? Первый вопрос. возникших в ходе модернизации сети. разрезанной на куски. более совершенная версия программного обеспечения. В результате начали с обновления операционной системы. когда и как будет происходить переход на новую версию Oracle. так и очень существенным образом. Оправдают ли предлагаемые усовершенствования тот риск. а немного позже обновили РСУБД и приложения. который связан с установкой новых программ? Работают ли вообще те новейшие функции. с какими потенциальными проблемами можете столкнуться.— это стабильность новой версии. Мы не решились на три одновременных обновления и пришли к мысли о необходимости промежуточного решения. выяснилось. причины которых зачастую трудно определить. Каждая новая версия приносит много новых привлекательных возможностей.1. Однако даже для использования исправления нам пришлось пересмотреть подход к организации сети Oracle. все они должны быть правильно состыкованы. в которой я работала. Чтобы заранее решить.

Первая попытка реализовать новую функцию не' всегда Дает именно тот результат. например Transaction Monitor компании Elpina. что некоторые приложения используют промежуточный слой независимого производителя. выполняя только неотложные изменения? Если да. или вам потребуется заново перестраивав"У систему? Сколько времени система может оставаться недоступной в ходе обновления и восстановления? Как это повлияет на работу пользователей? Как именно вы собираетесь выполнять миграцию/обновление? Возможно. что предлагаемые в новой версии возможности действительно необходимы. о котором следует подумать. чтобы принести пользу вашей организации? Когда впервые появилась возможность делать моментальные снимки. поскольку в следующей версии эта функция была серьезно доработана. Если бы они немного подождали. что все независимые программные продукты совместимы с версией Oracle. и для таких приложений может потребоваться полная перекомпиляция. Вы должны убедиться.— это возможность отхода на исходную позицию в случае неудачи. вы решили. в свою очередь. нужно решить. Сможете ли вы продолжать обслуживание существующей системы и одновременно вносить изменения в новую? Потребуется ли "заморозить" производственную среду. код приложений часто содержит ссылки на Net8 и другие библиотеки. с энтузиазмом восприняла эту идею и долго билась над ее эффективной реализацией. с которой я взаимодействовала. Учитывая. команда разработчиков. Ещё один момент. которого ожидаете вы или ваши разработчики. процесс перекомпиляции и связывания может растянуться на несколько дней. что некоторые системы содержат сотни и даже тысячи программ. то сможете ли вы вернуться к тому состоянию. Многие компании арендуют эквивалентную группу компьютеров для пробных прогонов перед тем. каким образом изменения повлияют на сеть. то сэкономили бы немало времени и сил. как попытаться произвести обновление в производственной среде. Такое бывает с любыми программными продуктами. Кроме того. как откат к предварительно сохраненной конфигурации. нужна для поддержки новой версии приложения. как будет происходить работа с новыми или исправленными версиями. следует выделить весь набор дисков тестовой системы для тренировки и несколько раз прогнать всю процедуру. Если вы переходите на новую версию операционной системы. которое было до начала первого изменения? Будет ли восстановление столь же простым. Сколько времени вам будет отпущено на установку и тестирование версии перед ее переносом! в производственную среду? Постарайтесь заранее определить. Имейте также в виду. чтобы при настоящем обновлении не возникло никаких неожиданностей. пока команда разработчиков реализует и тестирует свое приложение. то на какое время? . на которую предполагается перейти. чтобы обеспечить поддержку новой версии Oracle. Допустим.Планирование сети 175 Достаточно ли они совершенны. Определение наиболее подходящей версии может стать нелегким делом. Чтобы обеспечить успешный запуск новых приложений. которая. замеряя время ее выполнения.

В настоящее время большинство компаний имеют сеть того или иного вида. Какой протокол (или протоколы) предполагается использовать! Наряду с базовыми сетевыми протоколами вы должны выбрать протоколы Oracle. Гораздо труднее ответил». относящиеся к сети. поддерживаемых Oracle. вы не из тех людей. Если планируется разработка Java-приложений. что вы сможете ее опередить.176 Глава 6 Сетевые вопросы Наиболее очевидные вопросы.6 главы 2. какое оборудование будет удовлетворять предъявляемым требованиям. то вам нужно либо понижать версию сети. TCP/IP и TCP/IP с SSL. обратитесь за помощью к системным и/или сетевым администраторам. чем планировалось первоначально. LU6. с протоколами^ поддерживаемыми Oracle. Может оказаться. Обычно они разбираются в этих вопросах и могут определить. которую Oracle в настоящее время не поддерживает. маловероятно. либо дожидаться версии Oracle. Здесь нужно принимать во внимание как вычислительную мощность машины. соответствующее ожидаемой нагрузке на сеть. CORBA (Common Object Request Broker Architecture) и EJB .2. то необходимо проследить. Давайте рассмотрим сетевые вопросы. Если есть возможность. В таком случае вам придется выбирать между обновлением сети и переходом на более раннюю версию Oracle. которая будет совместима с текущим сетевым протоколом. Однако при этом возникает другой вопрос: поддерживает ли Oracle существующий сетевой протокол? Если Oracle не поддерживает протокол.— это "какой базовый протокол следует использовать?" и "справятся ли выбранные машины с ожидаемым объемом сетевого трафика?" Вероятно. SPX. Чтобы определить. Named Pipes. которые могут самостоятельно выбрать оборудование. Поскольку корпорация Oracle старается работать с самыми последними версиями сетевых протоколов. Если же версия используемого сетевого протокола выше. на которые вам необходимо ответить. совместима ли версия протокола. IPC (Inter-Process Communications). входят протокол локального обмена (bequeath). на вопрос. чем в Oracle. Они были кратко описаны в таблице 2. так и физические характеристики самой сети. чтобы были установлены драйверы JDBC и интерфейс OCI. что вам придется выбирать другой способ соединения машин. используемый в вашей компании. то возможно. а следовательно. обратитесь в службу поддержки или к своему консультанту по продажам Oracle. что в вашей сети используется устаревшая версия протокола. сможет ли конкретная машина справиться с ожидаемым объемом сетевого трафика. используемая в вашей сети. ответы на один или оба поставленных вопроса уже даны. а также SQL]. Какие сетевые протоколы поддерживает Oracle? В число протоколов.

Из-за сужения дороги ваша средняя скорость окажется ниже. Если базы данных распределены по нескольким серверам. который обеспечивает трансляцию имен машин в IP-адреса. Разные участки сети могут иметь разную пропускную способность. какие IP-адреса имеют ваши машины и поддерживает ли сеть трансляцию имен в адреса. Следовательно. что вы едете по шестиполосной магистрали. как в этом месте. клиенты EJB и CORBA используют другие коммуникационные стеки. Эта таблица станет частью документации на создаваемую систему и послужит руководством при конфигурировании. До этого места поток автомобилей мог двигаться очень быстро.1. служб и экземпляров. чтобы шесть рядов могли слиться в два. то задачу определения местонахождения серверов можно возложить на него. Каждый кабель может пропускать в единицу времени определенный объем трафика. Производительность сети напрямую зависит от того. что скорость. Как было сказано в главе 2. Чтобы эффективно спланировать сеть. какие машины работают медленнее других и где возможно появление узких мест. называется его пропускной способностью. но давайте еще раз повторим это определение. если ваши разработчики остановились на клиентах EJB и CORBA. нежели клиенты Net8.Планирование сети 177 (Enterprise Java Beans). которая внезапно сужается до двух полос из-за ремонтных работ. вы можете сэкономить время при конфигурировании и тестировании свой сети Oracle. но теперь должен замедлиться. Каково местонахождение (IP-адреса) серверов? Этот вопрос важен с разных точек зрения. то пропускная способность всей сети будет такой же низкой. Подробная информация об этих компонентах и предъявляемых ими требованиях приведена в документации Oracle. определите. то вы должны задать IP-адреса в таблицах сервера имен Oracle или в файлах сетевой конфигурации Oracle. а также именами баз данных. Если в сети есть DNS-сервер. 726 . Если же механизм трансляции на уровне сетевого протокола отсутствует. как приступите к конфигурированию сети Oracle. с которой кабель может передавать данные. для уровня представления данных должен быть выбран протокол GIOP. Заранее определив. Если где-то проложен плохой кабель. Здесь они упомянуты лишь потому. Представьте. Соответствует ли пропускная способность кабельной сети ожидаемой нагрузке! О пропускной способности говорилось в главе 1. В качестве образца можно использовать таблицу 6. вы можете снова набрать скорость. но время будет потеряно. хотя в конце концов дорога снова расширилась. полезно составить таблицу с IP-адресами и именами машин. что вы должны принять решение об их использовании до того. Вспомните. поэтому скорость передачи данных по сети зависит от возможностей самого "тонкого" кабеля. 7 Зак. Проехав узкий участок. какой трафик может передаваться по самому узкому участку. Для нормальной работы всех этих компонентов необходима поддержка со стороны сети.

что при конфигурировании не был пропущен ни один экземпляр..13 QA01 QA01 MYQA Из таблицы 6. порты 1521 и 1526 используются одновременно на двух различных узлах. MYHOST03 122.2. корпорация Oracle зарегистрировала некоторые порты как имеющие вполне определенное назначение. Однако при наличии на одной машине более чем одного прослушивающего процесса следует убедиться. Таблица соответствия между именами машин. какие порты уже используются в системе. который станет частью сетевой документации. не присвоен другому процессу для иных целей. После этого ваша "карта" будет выглядеть так.1. экземплярами и службами Имя машины MYHOST01 IP-адрес 122. Если вы балансируете нагрузку при помощи множественных прослушивающих процессов.23.23. экземпляров и служб ассоциированы с каждой машиной.2.1 можно легко узнать имена и IP-адреса машин.д.233. то предварительное определение портов намного облегчит конфигурирование. что порт. Какие номера портов будут использоваться! При определении номера порта для экземпляра или службы первым делом нужно обратиться к текущим файлам сетевой конфигурации и посмотреть. Как было показано в таблице 3.23. вы получите четкий план дальнейших действий. что им присвоены разные номера портов. как показано в таблице 6.Глава 6 178 Таблица 6.233. базами данных. если прослушивающие процессы находятся на разных машинах.23. какие имена баз данных. поскольку в противном случае возможны конфликты. В таблицу 6. Вы даже можете присвоить каждому прослушивающему процессу несколько портов. Как видно из таблицы 6.1 можно добавить столбец с номером порта. какие номера портов будут использоваться. При использовании локального именования или сервера имен Oracle эта таблица поможет убедиться. присваиваемый прослушивающему процессу.3 главы 3. Вы можете быстро определить. брокеру Web-запросов и т.233. Так можно поступать.10 .11 TSTFN1 TSTAP1 TSTHR1 TSTFN1 TSTAP1 TSTHR1 MYTST1 MYTST2 MYTST3. IP-адресами.12 DEVFIN1 DEVAP1 DEVHR1 DEVHR2 DEVFIN1 DEVAP1 DEVHR1 DEVHR2 MYDEV1 MYDEV2 MYDEV3 MYDEV4 MYHOST04 122.233. Вы должны убедиться. Заранее решив. : База данных Имя экземпляра Имя службы PRDFN1 PRDAP1 PRDHR1 PRDFN1 PRDAP1 PRDHR1 MYPROD1 MYPROD2 MYPROD3 MYHOST02 122.". .

' • Таблица 6. до прихода запроса.23. выделенные серверы или предварительно созданные выделенные серверы! Как вы знаете из главы 2. Серверные вопросы Теперь.23.23.233. Если же вы запускаете огромные пакетные задания по загрузке информации в хранилище данных. Иными словами.2.10 Порт База данных Имя экземпляра Имя службы 1521 PRDFN1 PRDAP1 PRDHR1 PRDFN1 PRDAP1 PRDHR1 MYPROD1 MYPROD2 MYPROD3 MYHOST02 122. касающимся использования прослушивающих процессов. В первом случае соединение будет доступно немедленно. Предполагается ли использовать многопоточный сервер (MTS). когда вы определили метод именования. то более подходящими могут оказаться выделенные серверы. однако следует иметь в виду. Это особенно актуально в сетях. многопоточный сервер обеспечивает поддержку множественных клиентских соединений через единственный процесс-диспетчер.233.13 1526 QA01 QA01 MYQA MYHOST01 '.23. где требуется поддерживать большое количество пользователей. пора переходить к вопросам.233. протоколы и назначение портов. При этом у вас есть две возможности: либо создавать (порождать) соединения заранее. Для завершенности следует указать для каждой машины метод именования (если используется более одного метода) и выбранный протокол (или протоколы). какие решения необходимо принять в серверной области. устанавливающие только одно соединение. соглашения об именовании. Таблица соответствия имен и адресов с добавленными номерами портов Имя машины IP-адрес 122.12 1526 DEVFIN1 DEVAP1 DEVHR1 DEVHR2 DEVFIN1 DEVAP1 DEVHR1 DEVHR2 MYTST1 MYTST2 MYTST3 MYDEV1 MYDEV2 MYDEV3 MYDEV4 MYHOST04 122. при использовании MTS значительно сокращается расход системных ресурсов на установление соединений. если вы предварительно . либо порождать процесс выделенного сервера после приема запроса.Планирование сети 179 Таблица 6. Поскольку один диспетчер может принимать запросы от многих пользователей.11 1521 TSTFN1 TSTAP1 TSTHR1 TSTFN1 TSTAP1 TSTHR1 MYHOST03 122.2 дает достаточно полное представление о сети Oracle. что предварительно порожденные процессы остаются в памяти на протяжении всего времени жизни прослушивающего процесса.233. Посмотрим.

Теперь представьте. Таким образом. возможно. Однако при использовании MTS не так легко сказать. нужно вспомнить принцип работы диспетчера MTS. нужно ли разрешать создание выделенных соединений параллельно с MTS. предъявляемых конкретной задачей. пока процесс запустится. обновлений или удалений. который будет использоваться клиентами базы данных для соединений через MTS. в зависимости от требований. Давайте вернемся к ситуации с загрузкой огромного количества информации в хранилище данных. либо поддерживать меньшее количество клиентов через соединения выделенных серверов. Никаких пауз здесь нет — идет непрерывный поток вставок. какие типы транзакций предполагается выполнять в системе. пока количество соединений не вернется к прежней величине. а используете только два. вы можете либо поддерживать большое количество клиентов через несколько соединений многопоточного сервера. Всегда ли соединения должны устанавливаться через диспетчер? Не обязательно.180 Глава 6 создали десять выделенных соединений. что запуск и останов прослушивающих процессов не приводит к разрыву существующих соединений. Таким образом. что загружается большой массив данных. создавать ли процессы заранее. если выделенные процессы будут создаваться только после прихода запроса. Внимание Для каждого сетевого протокола. и. С другой стороны. А если количество запросов на соединения превысит количество предварительно созданных процессов? Тогда Oracle просто начнет создавать выделенные процессы для каждого следующего запроса. что вы остановились на конфигурации с многопоточным сервером. то остальные восемь лишь отнимают ресурсы. когда пользователей меньше всего. должен быть сконфигурирован и запущен как минимум один процесс-диспетчер. При отсоединении клиента от выделенного сервера. что каждый пользователь делает паузу между запросами. при использовании соединений выделенного сервера требуется решить. необходимо узнать. смириться с неэффективным расходом ресурсов. Следовательно. системные ресурсы освобождаются. Это позволяет обрабатывать запросы по очереди. вы можете в какой-то . и вручную запускать выделенные процессы для поддержки этих операций. Возможно. Чтобы определить. то клиентам придется ждать. Будут ли разрешены выделенные соединения при использовании MTSI Предположим. с каким процессом операционной системы соединен каждый клиент. Почему для этой работы больше подходит выделенное соединение? Чтобы ответить на этот вопрос. С другой стороны. Помните. освобождая ресурсы при отсоединении клиента. который не был создан заранее. следует запланировать загрузку данных на то время. для этой задачи есть смысл использовать выделенный сервер. Поддержка множества пользователей возможна за счет того.

. Разумеется. а также останавливать процесс диспетчера для заданного протокола после отсоединения текущих пользовательских процессов от экземпляра. Чтобы обойти это узкое место и ускорить установление соединений. попробуем разобраться. накоплением невыполненных запросов и задержками в выполнении всех запросов.. Конструкция alter system set. в сочетании с параметрами mts_servers и mts_dispatchers позволяет добавлять процессы разделяемых серверов или диспетчеров. но я категорически не рекомендую это делать. • Прослушивающий процесс принимает запрос и возвращает адрес наименее загруженного диспетчера. а запросов много. установленные через MTS соединения не будут разрываться при останове процесса MTS. Иными словами. Но не будут ли соединения. • Диспетчер помещает запрос в очередь входящих запросов. • Клиент напрямую соединяется с диспетчером. "Вопросы соединений". установленные через MTS. Предполагается ли поддержка множественных прослушивающих процессов! Работа прослушивающего процесса состоит в приеме запросов на соединение и передаче их диспетчеру или процессу выделенного сервера. Эта же конструкция позволяет останавливать существующий процесс разделяемого сервера после обработки текущего запроса.Планирование сети 181 момент останавливать процессы MTS и запускать выделенные процессы для резервного копирования и пакетной загрузки больших объемов данных. Следовательно. то дело может кончиться перегрузкой прослушивающего процесса. результат помещается в очередь исходящих ответов. а сейчас посмотрим. Конечно. поскольку его фактический останов происходит лишь после завершения текущих транзакций. которая размещена в SGA. процесс MTS можно уничтожить средствами операционной системы. увеличение времени отклика будет вызывать недовольство пользователей. каждый запрос отнимает часть процессорного времени. • Диспетчер считывает результат из очереди ответов и возвращает его клиенту. разрываться при остановке MTS? Чтобы дать ответ на этот вопрос. что происходит при использовании MTSv Работа через многопоточный сервер происходит следующим образом: • Клиент запрашивает соединение. • Свободный процесс разделяемого сервера извлекает запрос из очереди и обрабатывает его. Для обработки каждого запроса требуется определенное количество ресурсов. • Когда разделяемый процесс завершает свою работу.. Об объединении соединений и балансировке нагрузки мы подробнее поговорим в следующем разделе. можно создать дополнительные прослушивающие процессы и разрешить объединение соединений и/или балансировку нагрузки. Если прослушивающий процесс один.

присвоив целое значение параметру queuesize. Существует много различных подходов к организации соединений клиентов с базой данных. необходимо указать ее размер. Определив. В этом случае одним из пунктов вашего плана может стать выбор размера очереди прослушивающего процесса. Далее приводятся некоторые вопросы.0 Workstation это 5. принимаемый по умолчанию. объединением соединений. что ожидаемый объем трафика довольно велик. Затем потребуется выбрать подходящее имя. Прежде всего необходимо выбрать порт. относящиеся к области соединений. вы фактически учились выполнять одну из задач конфигурирования. Однако в случае Web-сайта или другой системы с очень интенсивным трафиком стоит воспользоваться более элегантными решениями. вы должны отредактировать файл listen. какого размера ее делать. Когда и как следует использовать очередь и на что влияет ее размер? . При планировании сети вы можете выбирать. При небольшом количестве клиентов можно остановиться на выделенных соединениях через один прослушивающий процесс. Следует ли предусмотреть увеличение размера очереди прослушивающего процесса? При планировании сети может выясниться. который используется текущим прослушивающим процессом. что прослушивающий процесс будет принимать большое число запросов на соединения. и что все прослушивающие процессы должны запускаться и останавливаться по имени. поступающие одновременно.ora или конфигурацию сервера имен. что имена новых прослушивающих процессов должны быть включены во все командные процедуры. Определившись с именем и портом. чтобы добавить в конфигурацию новый прослушивающий процесс. зависит от операционной системы. В заключение вам нужно решить. сколько баз данных или клиентов будет обслуживать каждый прослушивающий процесс. Если предполагается. и определять. Размер очереди. В сильно загруженной системе можно выделить целый диапазон портов специально для создания дополнительных прослушивающих процессов. можно разрешить постановку запросов в очередь. используемые для запуска и останова прослушивающих процессов. какие базы данных будут присвоены каждому прослушивающему процессу.er. предлагаемыми Oracle — например.ora. Чтобы активизировать очередь. ога с целью создания второго прослушивающего процесса. Помните. Это позволит прослушивающему процессу обрабатывать запросы. отличный от того. вы можете отредактировать файл(ы) tnsnames. тогда как для Windows NT Server — 20. Для Solaris и Windows NT 4.182 Глава 6 какие действия следует предпринять для создания более чем одного прослушивающего процесса. использовать или не использовать очередь. чтобы изменить назначение портов в соответствии со своим планом. В настоящее время очередь прослушивающего процесса поддерживается только для протоколов TCP/IP и DECnet. Когда в главе 3 вы пробовали менять параметры файла listener.

где возможно одновременное поступление большого числа запросов. если они остаются неактивными в течение заданного промежутка времени. то должны принять решение. слышит сигнал. как ваши дела. "первым пришел — первым ушел"). десять запросов. и когда процесс возобновляет работу. получаемые прослушивающим процессом. то вы наверняка знаете. За счет чего это становится возможным? Oracle использует механизм тайм-аута для временного освобождения транспортных соединений. и заехать в гости. Если очередь заполнена. подобно тому. Подобно этому объединение соединений позволяет процессу диспетчера одновременно обслуживать несколько клиентских соединений. Будет ли использоваться объединение соединений! Представьте. Объединение соединений. что его обделили. Вы возвращаетесь к чтению. увеличение размера очереди позволит накапливать больше необработанных запросов и избежать сообщений ORA-12451. а в это время звонит телефон. пока он проверит. кто звонит. Во время разговора ваш друг. разрешать или нет объединение соединений. Если вы будете использовать многопоточный сервер. Будет ли использоваться балансировка нагрузки на уровне клиента? Если у вас есть дети. Вы снимаете трубку и слышите голос своего друга. Логическое соединение с неактивным процессом не освобождается. то при попытке установить соединение клиент получит сообщение об ошибке ORA-12451: No Listener. Ваш друг мог вести два разных разговора по одной телефонной линии. почти сразу же обрабатываются. а когда ваш собеседник освобождается. подобно ожиданию вызова. позволяет разделять все множество соединений диспетчера между несколькими клиентскими процессами. Если прослушивающий процесс одновременно получит. как важно сбалансированно распределить между ними коробку конфет. . физическое соединение с диспетчером восстанавливается. извещающий о поступлении другого звонка. Эта очередь организована по принципу FIFO (first-in-first-out. который хочет узнать. и просит вас подождать. Временно освобожденное физическое соединение становится доступным для другого входящего вызова.Планирование сети 183 Запросы на соединения. что вы читаете увлекательную книгу. В системах. то каждый ребенок начнет жаловаться. что же такое объединение соединений и как оно работает. вы обеспечиваете равномерное распределение запросов на соединения между доступными прослушивающими процессами. то они будут поставлены в очередь. Если об этом не позаботиться. как вы продолжаете разговор после возврата вашего друга на линию. Включая балансировку соединений на уровне клиента. Давайте выясним. у которого заказана услуга "call waiting" ("ожидание вызова"). как если бы вы делили поровну конфеты между своими детьми. продолжаете разговор. скажем. В результате максимизируется количество физических сетевых соединений с многопоточным сервером. Максимальное количество записей в очереди определяется параметром queuesize.

причем эти процессы порой было очень трудно удалить без останова и перезапуска базы данных или всей операционной системы. В результате отсоединенные процессы продолжали использовать ресурсы. чтобы ни один из них не был загружен больше. но сохраняться на стороне сервера. но сервер об этом не подозревал. При возникновении ошибки серверный процесс закрывает соединение и выполняет необходимую очистку.ora параметр sqlnet. то сколько времени процесс может оставаться неактивным! В ранних версиях сетевых продуктов Oracle соединение могло разрываться на стороне клиента. Если все в порядке. и если да. то есть обнаружение нерабочих соединений. Такая ситуация часто возникала при перезагрузке клиентского ПК. Для клиента соединение разрывалось. Посмотрим. что может привести к снижению производительности сети. клиентские запросы будут случайным образом распределяться между прослушивающими процессами. сетевой процесс Oracle не уведомлял сервер Oracle о своем отсоединении. Периодически.expire_time. и если да. необходимо добавить в файл sqlnet. В последующих версиях стало возможным отсоединение по таймеру. чем другие. имейте в виду: • Генерация пробных пакетов увеличивает сетевой трафик. установив значение ON для параметра load_balanсе в файле tnsnames. предполагается ли реализовать балансировку нагрузки на уровне клиента. обычно раз в несколько минут. то операция посылки пакета завершается ошибкой. как происходит отсоединение по таймеру. Если клиент аварийно завершает свою работу. Чтобы разрешить отсоединение по таймеру. сервер посылает клиенту небольшой пробный пакет. тогда как балансировка нагрузки на уровне клиента требует наличия нескольких прослушивающих процессов.Глава 6 184 Для объединения соединений необходимо сконфигурировать и задействовать MTS. то сколько прослушивающих процессов будет сконфигурировано для поддержки этой возможности. . Будет ли использоваться отсоединение по таймеру. удерживавшихся клиентом. В вашем сетевом плане должно быть отмечено. Если вы решите использовать отсоединение по таймеру. после чего инициирует откат незавершенных транзакций и освобождение всех блокировок. После того как вы сконфигурируете несколько прослушивающих процессов и включите балансировку нагрузки. то спустя некоторое время Net8 идентифицирует соединение как "зависшее". Иными словами. указав значение в минутах. поскольку пакет некому принять. Если же процесс отсоединился. то пакет принимается. Обнаружение нерабочих соединений невозможно при использовании протокола локального обмена.ora.

происходящих при нормальной работе системы.Планирование сети 185 • В некоторых операционных системах может потребоваться дополнительная обработка. Для этого потребуется заменить все оборудование. Насколько эффективна принятая стратегия резервного копирования и восстановления! Возможность восстановления сети и базы данных полностью определяется выбранными стратегиями резервного копирования и восстановления. К таким событиям относятся сбои аппаратуры и программ. пожары. а все находившееся в нем оборудование полностью уничтожено. от других событий. которую только можно представить. который позволит восстановить сеть и данные даже в этом случае. если в самый ответственный момент выяснится. нормально читаются. но вам нужно представить самую невероятную ситуацию и разработать план. связанные с проверкой соединения. Если взять только что описанный сценарий. а также стихийные бедствия — ураганы. то вы должны продумать. наводнения. Вопросы копирования и восстановления Независимо от того. поэтому давайте рассмотрим самую ужасную ситуацию. не могут быть прочитаны на . Будет очень неприятно. без которых быстрое восстановление сети невозможно. в результате которого нормальная работа с. на которые следует ответить при планировании сети. системой станет невозможной. Вам сказано. Эта дополнительная обработка также может привести к снижению производительности сети. забывая при этом о файлах сетевой конфигурации. а носители. насколько вы предусмотрительны и аккуратны в обращении с машинами и сетевым оборудованием. какая информация необходима для организации эффективной сетевой работы на новом месте. на которые вы надеялись. большинство катастроф не приводят к столь плачевным последствиям. Большинство людей тратят массу времени на обдумывание и реализацию процедур резервного копирования базы данных. чтобы прослушивающий процесс мог отличить события. В любом хорошем плане должны быть расписаны действия на случай чрезвычайных обстоятельств. заново построить сеть и восстановить приложения. что копии. Конечно. что к остаткам здания нельзя будет подходить как минимум неделю. Обезумевший пилот бомбардировщика выбрал в качестве мишени здание вашей компании и сбросил на него серию бомб. если нет доступа к компьютерной комнате! Я предпочитаю начинать с худших сценариев. Убедитесь. рано или поздно произойдет событие. на которые они записаны. как воссоздать вычислительный центр в другом месте. а также обеспечить хранение и своевременное обновление копий прикладных и системных программ вне вычислительного центра. человеческие ошибки. Давайте рассмотрим вопросы. Что делать. что в вашем распоряжении есть свежие копии всех сетевых файлов. Вы должны определить.

центром вашей сетевой "вселенной" является центр данных. перенося их в другой каталог. Пусть. ваша компания может держать наготове дублирующую систему. вы должны составить все возможные схемы соединений. Вам следует протестировать все реализованные стратегии резервного копирования. Один мой знакомый администратор периодически имитировал потерю одного-двух файлов. но это не избавляет вас от необходимости иметь карту воссоздания сайта. как банк связан с федеральной резервной системой). представляющую собой непрерывно обновляемую копию основной системы. Имейте в виду. которые могут быть реализованы в аварийных ситуациях. как вы будете воссоздавать эту связь на запасном сайте? Иными словами. чтобы проверить. например. В этом случае вы должны решить. Представьте себе все входящие и исходящие соединения этого центра в виде лучей звезды. какие IP-адреса придется изменить. на котором записывалась лента. если центр данных переместится из середины в одну из конечных точек. что магнитные головки ленточного накопителя. вы должны определить. Например. и составить план замены IP-адресов. Теперь подумайте. . Поместите себя в середину и нарисуйте схему соединений. чтобы убедиться в возможности использования резервных копий. необходимых для продолжения работы в обычном режиме. насколько быстро и эффективно персонал вычислительного центра сможет выполнить восстановление. как и когда будет выполняться переключение на дублирующий сайт. какие внешние связи потребуется продублировать. могут быть разъюстированы. но и всех остальных соединений. головки должны находиться по отношению к ней в том же самом неправильном положении. если ваша сеть напрямую связана с сетью другой компании (подобно тому. вы должны предусмотреть восстановление не только жизненно важных. В наши дни Интернет позволяет с легкостью перемещаться из одного места в другое.186 Глава 6 доступном оборудовании. Чтобы такая лента читалась. Какие еще сетевые связи необходимо воссоздать! Создавая план восстановления компьютерной системы. Кроме того. Как будут распределяться IP-адреса в аварийной ситуации! Чтобы обеспечить быстрое восстановление в случае аварии.

.

.

Nets Assistant опции Local .

как работа будет закончена. Конечно. что в этом случае мы не успеем оглянуться. чтобы вы знали. но это займет намного больше времени и потребует гораздо больших усилий.190 Глава 7 главе 6 мы с вами планировали сад.123. на UNIX-хосте должны быть установлены библиотеки XII и Java. я хочу привести некоторые базовые сведения об этом инструменте.178:0. так и в среде UNIX. Придется пойти в магазин садовых принадлежностей и купить все необходимое для дальнейшей работы. Не сомневаюсь. Когда под рукой есть подходящие инструменты. Кроме того.123. Мой обычный садовый инвентарь здесь практически не поможет. IP-адрес рабочей станции должен быть зарегистрирован на той машине. Только представьте.45. поддерживающую приложения XI I/motif. перемешанная с камнями. что на нашем участке очень тяжелая глинистая почва.45.178 будет соответствовать значение 196. Итак. описанной в главе 3. жизнь становится намного проще. насколько легче будет перекопать участок при наличии механического роторного культиватора. . что потребуется культиватор и много мешков торфа. IP-адресу 196. При этом переменная среды DISPLAY должна указывать на рабочую станцию. Для подготовки почвы мне пришлось использовать маленький ручной инструмент — догадайтесь.0" к IP-адресу машины. В следующих четырех главах вы познакомитесь с тремя различными инструментами. бесплатно поставляемыми корпорацией Oracle вместе с базой данных. перегноя и удобрений. и утилитой Oracle Names Control. когда и как его нужно использовать. Однако наличие подходящих инструментов поможет выполнить работу быстрее и эффективнее. Например. Обычно это делается с помощью команды xhost. где находится выполняемый файл netasst. Боюсь. мы можем сделать то же самое лопатами и мотыгами. Перед тем как переходить к подробному изучению Net8 Assistant. Все три инструмента имеют графический интерфейс пользователя (GUI) и могут работать как в среде Windows NT. почему? Дело в том. Для установки значения DISPLAY нужно добавить ":0. нужно ввести команду netasst в любом окне UNIX. описанной в главе 4. Любую стоящую перед вами задачу всегда можно решить несколькими способами. что это облегчит работу. Держу пари. составляют инструментальный набор Oracle для управления сетевой конфигурацией.0. Чтобы вызвать Net8 Assistant в UNIX. речь пойдет о следующих инструментах: • Net8 Assistant (рассматривается в этой главе и в главе 8) • Net8 Configuration Assistant (изучается в главе 9) • Connection Manager (описывается в главе 10) Эти три инструмента вместе с утилитой Listener Control.

NetS Assistant можно использовать для запуска. После запуска NetS Assistant вы увидите начальный экран. Кроме того. в число которых входит Network Administration. В моем случае установщик выбрал диск D: и предложил создать каталог D:\Oracle\Ora81.ora. которые будут отображаться в дескрипторы соединений. в централизованном LDAP-совместимом каталоге или на сервере имен Oracle. Вы можете работать с ним как на клиентской машине. я выбрала ORCL. Я делюсь всей этой информацией для того. показанный на рис. Поскольку я просила создать демонстрационную базу данных. так и на сервере. Однако перед выполнением любой из этих задач инструмент необходимо запустить. для запуска NetS Assistant из Windows NT мне нужно выбрать Start >• Programs >• Oracle-OraHomeSl >• Network Administration >• NetS Assistant Если вы установите Oracle в другой каталог. Недолго думая. В моей системе пункт для доступа к Oracle обозначен как Oracle-OraHomeSl. » Методы именования. Я согласилась с установками по умолчанию. Таким образом. а также для сбора статистики по этим серверам.Nets Assistant — опции Local 191 Базовые сведения о Net8 Assistant В главе 4 говорилось. как это делается. NetS Assistant позволяет определять и конфигурировать: ' » Прослушивающие процессы. мне было предложено ввести ее имя. то соответствующий пункт меню Start >• Programs будет называться по-другому. • Простые имена и идентификаторы соединений. поэтому в моей системе переменная ORACLE_HOME получила значение OracleOraSl. универсальный установщик (Universal Installer) по умолчанию выбирает диск с наибольшим доступным пространством. Отображения простых имен и идентификаторов соединений в дескрипторы соединений могут храниться в файлах tnsnames.1. что NetS Assistant используется для централизованного конфигурирования сетевых компонентов и управления ими. Release 2 в системе Windows NT. каким образом будет выполняться разрешение идентификаторов соединений в дескрипторы соединений. Посмотрим. . В системе UNIX инструмент NetS Assistant запускается из каталога $ORACLE_HOME/bin следующей командой: .Q netasst Когда вы устанавливаете OracleSi. определяющие. 7. чтобы вы поняли. какое соглашение об именовании используется Oracle в пунктах меню Start >• Programs. Он имеет множество подпунктов. останова и настройки предварительно сконфигурированных серверов имен Oracle.

которые предоставляет этот инструмент.1. Выбрав нужный пункт. увеличение окна позволит читать справочную информацию без прокрутки. Означает ли это. Обратите внимание. Нет. при нажатии клавиши ALT курсор перемещается к самому левому меню. 7. Базовые возможности Войдя в Net8 Assistant. . в нашем случае — File. не беспокойтесь. ничего не происходит.192 Глава 7 Рис. А если перед F нажать ALT? Сработало! Как видите. используя мышь или клавиши со стрелками. Если одна из букв в названии пункта подчеркнута. Теперь вы можете перемещаться по пунктам меню. Давайте "прогуляемся" по ним и посмотрим. то можно нажать соответствующую клавишу. какие опции доступны. что первые буквы в словах File и Help подчеркнуты. Прямо под заголовком окна находится набор раскрывающихся меню: File. вы увидите в самой верхней части окна название инструмента и текущий каталог. Это означает. Edit. щелкните левой кнопкой мыши или нажмите Enter для его активизации. что для доступа к этим меню можно нажать соответствующую клавишу? Попробуем нажать F. Command и Help. что он еще не был указан. Последующее нажатие F приводит к раскрытию меню и выделению первого пункта. Начальный экран Net8 Assistant Размеры окна Net8 Assistant можно менять. Внимательно рассмотрим начальный экран Net8 Assistant и обсудим различные возможности. Например. Если путь к каталогу отсутствует.

. Их можно выбирать с помощью мыши или клавиш со стрелками. Аналогичные действия нужно будет выполнить при выборе пункта Save As. F и X. в котором находится файл сетевой конфигурации. В раскрывающееся меню Help входят следующие пункты: • Contents (Содержание) • Search for help on. что могло бы их активизировать... (Открыть сетевую конфигурацию) • Save Network Configuration (Сохранить сетевую конфигурацию) • Save As.... • Кнопка с символом экрана разворачивает окно на весь экран. (Переименовать) Первоначально эти пункты затенены. Два пункта в меню File оканчиваются многоточием. При выборе пункта Open Network Configuration вам потребуется указать каталог. что для выхода можно последовательно нажать клавиши ALT. Пункты раскрывающихся меню Раскрывающееся меню File содержит следующие пункты: • Open Network Configuration. Доступные пункты показаны черным. Сочетание клавиш ALT+F4 используется для закрытия окна и немедленного выхода из программы. окно Net8 Assistant имеет в верхнем правом углу три кнопки: • Кнопка с символом подчеркивания сворачивает окно без выхода из инструмента или текущего режима. (Протестировать службу) • Discover Oracle Names Server (Обнаружить сервер имен Oracle) • Reload All Names Servers (Заново загрузить все серверы имен) Поскольку вы еще не предпринимали никаких действий.. В раскрывающемся меню Edit предлагаются следующие пункты: • Create.. (Создать) « Delete (Удалить) • Rename.. (Сохранить как) • Revert to Saved Configuration (Вернуться к сохраненной конфигурации) • Exit (Выход) Alt+F4 Буква х в слове Exit подчеркнута. Как и любое другое окно Windows. они также будут затенены. то он будет выделен темно-серым цветом (затенен). • Кнопка с символом X закрывает окно с выходом из инструмента или текущего режима.) . Это означает..... поскольку вы еще не выбрали ничего. Знак плюса говорит о том. Многоточие означает. что при нажатии второй клавиши первая должна удерживаться.. что выбор данного пункта сопряжен с дополнительными действиями.Nets Assistant — опции Local 193 Если пункт меню недоступен. Раскрывающееся меню Command содержит такие пункты: • Test Service. которые могли бы активизировать эти пункты. (Поиск справки по.

View.< • ' iu. . • .). -. 7. позволяющие выбрать режим просмотра: • Contents (Содержание) р Index (Индекс) • Search (Поиск) • Expand (Раскрыть) — первоначально затенен . Пункты меню Help Если выбрать пункт Contents. . то появится окно справочного навигатора (Help Navigator).2.r>. • • • кун i •.. . Меню File содержит следующие пункты: • Display (Показать) — первоначально затенен • Display to New Window (Показать в новом окне) — первоначально затенен • Print Tree (Печать дерева) Ctrl+R • Print Topics (Печать тем) Ctrl+T • Close (Закрыть) '••• Exit (Выход) Ctrl+X Раскрывающееся меню View содержит пункты. . Первоначально оно будет выглядеть так.«j ..2. как показано на рис. • • • • SX^NetAssistaritHelp Рис. Рассмотрим их более подробно.f. Tools и Help.194 Глава 7 • About Net8 Assistant (О программе NetS Assistant) Пункты этого меню доступны сразу же после запуска NetS Assistant. Начальный экран справочного навигатора Подобно окну Net8 Assistant окно справочного навигатора имеет набор раскрывающихся меню: File. 7.

а при наведении указателя на вторую пиктограмму появляется надпись Display in New Window (Показать в новом окне). но слева от нее есть знак плюса (+). Кроме того.. Пиктограммы и вкладки справочного навигатора Под строкой меню в окне справочного навигатора находятся две пиктограммы. западноевропейскую для Windows или для PC. Окно настроек справочной системы Последнее раскрывающееся меню Help содержит следующие пункты: • Help on Help. вы можете изменить кодировку символов HTML с западноевропейской ISO 8859-1 на латинскую для Мае.. и три вкладки. После того как вы сделали нужные изменения. Вам доступны следующие разделы: . а ниже появились семь других книг. 7. позволяющий сделать ваш выбор установкой по умолчанию. установленной по умолчанию. Щелкнем на нем. gg Help Preferences Language Group Western European HTML Character Encoding I? Make Default OK I Cancel) Рис. Книга закрыта. теперь пиктограмма приобрела вид открытой книги.. нажмите Cancel. 7. В нем можно изменить группу языков (Language Group) с западноевропейской (Western European). то появится надпись Display (Показать). чтобы закрыть окно. Если вы ничего не меняли или не хотите сохранять изменения.. рядом с которой написано NetAssistant Help. на любую из 11 других. Сразу после открытия окна навигатора пиктограммы недоступны. (Справка по справке) • About. В нижней части окна находится флажок. изображающие страницы текста.195 Nets Assistant — опции Local • Collapse (Свернуть) — первоначально затенен • Expand All (Раскрыть все) — первоначально затенен • Collapse All (Свернуть все) — первоначально затенен При выборе пункта Tools открывается окно настроек справочной системы (Help Preferences). (О программе) Исследуйте эти пункты самостоятельно. показанное на рис.З. По умолчанию в окне навигатора будет выбрана вкладка Contents (Содержание). Он показывает. можете нажать кнопку ОК. Как видите. что данный раздел справки содержит подразделы. Вы видите здесь пиктограмму в виде книги. Рядом с ними также присутствуют знаки плюса. Если навести указатель мыши на первую из них.3.

пустое окно и кнопку Open. что после выделения раздела NetAssistant Help вам станут доступны пункты Expand и Expand All в меню Help. в расположенном ниже окне появляются слова и словосочетания.4 показано. КЩНе1р Navigator File View Tools Help Index Type the first few letters of a word (listener. а третья — указание "Select a topic and click Open" ("Выберите тему и щелкните на кнопке Open"). Соответствующие темы выводятся в нижнем окне. вы увидите три области. какие темы будут доступны после ввода слова "listener".4. Изучите ее самостоятельно. link qualifier link qualifier configuration link qualifiers Links tab for Oracle Names servers General Parameters: Logging & Tracing Рис. Вкладка Index с введенным словом I . Выбрав вкладку Index (Индекс). Вторая область содержит список ключевых слов.196 Глава 7 • • • • • Net8 Assistant Overview (Обзор NetS Assistant) Net8 Assistant Environment (Среда NetS Assistant) Directory (Каталог) Local (Локальные опции) Oracle Advanced Security (Усовершенствованные средства безопасности Oracle) • Oracle Names Servers (Серверы имен Oracle) • Glossary (Глоссарий) He будем рассматривать здесь всю справочную документацию. На рис. 7. Обратите внимание. 7. После раскрытия любой из ветвей справочного дерева вы сможете также выбирать пункты Collapse (Свернуть) и Collapse All (Свернуть все). начинающиеся на>эти буквы. Первая из них содержит указание "Type the first few letters of a word" ("Введите несколько первых букв слова") и поле для ввода. Когда вы начинаете вводить буквы в верхнем поле вкладки Index.

197 Nets Assistant — опции Local Найдя нужную тему. откроется другое окно. щелчок на кнопке Open. Ж Listener Configuration Overview NetAssi. W Found 68 topics Рис. В самом ее низу написано. Если щелкнуть дважды или нажать кнопку Open. Под этим флажком находится переключатель "Search for".. • Choose Listener Name dialog box NetAssi. что всего было найдено 68 тем. Вкладка Search с результатами поиска . содержащее справочную информацию. 7.. Все способы вывода содержимого документа — двойной щелчок на названии темы. После выбора темы станут доступны пиктограммы Display и Display in New Window.. 7. В верхней ее части содержится указание "Type the words for which you want to search" ("Введите слова. На рис. нужно установить флажок Case-sensitive.. щелкните на ее названии в нижнем окне. Чтобы при поиске учитывался регистр символов. по которым вы хотите выполнить поиск"). позволяющий задать следующие режимы поиска: • All of these words (Все слова) • Any of these words (Любое из слов) • This Boolean expression (Булево выражение) В нижней части вкладки находится окно результатов с заголовком "Results: Select a topic and click Open" ("Результаты: выберите тему и щелкните на кнопке Open"). щелчок на пиктограмме Display и щелчок на пиктограмме Display in New Window — дают одинаковый результат: информация отображается в новом окне.. поле для ввода слов и кнопка Search..5. Третья вкладка называется Search (Поиск). mmts El Help Navigator fie View Tools Help Type the words for which you want to search | Listener Г Case-sensitive Search for * All of these words f Any of these words f This Boolean expression Results: Select a topic and click Open Rank I Topic Title Configure Listener Addresses NeWssi.5 показана вкладка Search с результатами поиска по слову "Listener".

маленький диск с разъемом и галочкой над ним. а пока обратите внимание на правую часть окна. Щелкнув один раз на опции Local. а если указать на знак вопроса. говорящие о наличии опций следующего уровня. Каталог можно изменить. что опция Profile предназначена для конфигурирования локального . : Закончив обзор раскрывающихся меню. - : • :. Раскрыв дерево. Итак. что Net8 Assistant можно использовать для конфигурирования имен. в правой части экрана будут появляться их описания. нажать одновременно клавиши CTRL и X или просто щелкнуть на кнопке X в верхнем правом углу окна. что под высшим уровнем есть другие элементы. информирующий о том. показывая. На левом краю окна находятся четыре пиктограммы: большой знак плюса (+). В этой главе рассказано о локальных опциях. относящихся к серверам имен Oracle. перейдем к изучению остальных элементов окна Net8 Assistant. давайте раскроем навигационное дерево. что объект может быть удален. За пределами отображаемой области может находиться дополнительная информация. выбрав пункт Open Network Configuration в раскрывающемся меню File. а также знак вопроса (?). изображающей сеть. куда будут выводиться сообщения о состоянии. вы увидите текст.< •• Чтобы выйти из справочного навигатора. Когда вы раскроете дерево навигатора и начнете выбирать опции. знак плюса меняет цвет с серого на зеленый. Она содержит приветственное сообщение и короткий пояснительный текст. можно выбрать пункт меню File >• Close или File >• Exit. Для этого можно дважды щелкнуть на словах Net8 Configuration или щелкнуть один раз на знаке плюса. то он увеличится и появится слово Help. Когда вам есть что удалить (например. находящемся слева от пиктограммы. Когда доступна команда Create. службу или прослушивающий процесс). что данная опция позволяет конфигурировать элементы сети в файлах конфигурации.198 Глава 7 Внимание При работе с любым из инструментов Oracle следует просматривать все содержимое экрана. из которого следует. а в главе 8 — об опциях. ' . показывающий. находящихся в каталоге ORACLE_HOME/ network/admin. (Протестировать службу). вы увидите следующие опции: • Local • Oracle Names Servers Рядом с ними также находятся знаки плюса. то появится надпись Test Service. большой знак X. методов именования и прослушивающих процессов. Мы раскроем дерево навигатора чуть позже.. Правее пиктограмм расположено дерево навигатора с деревом конфигурации Net8.. Если навести указатель мыши на значок диска. В нижней части окна расположена область. Во втором абзаце объясняется. знак X из серого становится красным. Рядом с надписью Net8 Configuration находится знак плюса. Навигатор Net8 Assistant .

7.Nets Assistant — опции Local 199 профиля.ora на каждой клиентской машине. По той же причине мы увидим уже сконфигурированный сервер имен. Раздел Profile дальше раскрыть нельзя.ora. и объясняет. Этот профиль хранится в файле sqlnet. но рядом с двумя другими опциями в моей системе показаны знаки плюса.ora. Следующее. вы можете конфигурировать прослушивающие процессы на текущем хосте. я выполнила все эти действия. Взгляните на рис. как выполнить поиск всех существующих серверов имен Oracle в фиксированных местах сети и как . и теперь в мою версию Net8 Assistant загружена информация об именах.— это конфигурировать простые имена в локальном файле конфигурации tnsnames. Рассказывая в главе 4 о загрузке файла tnsnames. Я сконфигурировала его.6. что вы можете делать.6. когда будем рассматривать опцию Oracle Names Servers. идентифицирующие службу и определяющие ее местонахождение. 7. Простые имена отображаются в дескрипторы соединений. Информация об их конфигурации заносится в файл listener.ora в Net8 Assistant. раскрытая к этому моменту. определяющего работу ядра Net8. Раскрытая ветвь Local навигационного дерева Net8 Assistant После щелчка на опции Oracle Names Servers справа появится пояснительный текст. вы увидите три опции: Profile. Service Naming и Listeners. Раскрыв раздел Local. Listeners Ц? LISTENER ёь'-ilOracle Names Servers Рис. описывая процедуру создания сервера имен в главе 4.ora. Пояснительный текст справа при этом не изменится. Он сообщает. Наконец. где показана часть навигационного дерева. что конфигурирование серверов имен Oracle служит альтернативой созданию файлов tnsnames.

желающими приобрести недвижимость. делятся на три категории: брокеры-продавцы. Теперь. Мой друг обратился к брокеру-покупателю. брокеры-покупатели. Агенты. вернемся к разделу Local и посмотрим. Раскрыв раздел Local. к которым можно обращаться в нашей местности. вы увидите. которые представляют продавцов и одновременно работают с покупателями. Полностью раскрытое навигационное дерево Net8 Assistant активизировать процедуру создания нового сервера имен. В этом ему очень помог агент по торговле недвижимостью. На рис. . который предложил ему заполнить форму с перечислением требований к будущему дому (так называемый профиль). когда мы рассмотрели базовую структуру инструмента Net8 Assistant. Опции локальной конфигурации Начнем изучение опций Net8 Assistant с самой верхней в разделе Local и постепенно рассмотрим все опции в каждом из разделов. Что же такое профиль и для чего он используется? Мой друг недавно купил новый дом.7. а затем помог выбрать подходящий вариант. и двойные брокеры. которые продают недвилсимость. как используется каждая из его опций. работающие только с лицами.200 Глава 7 Рис. 7. что на первом месте стоит опция Profile. 7. представляющие людей.7 показано полностью раскрытое навигационное дерево с информацией о службе имен Oracle.

• Конфигурацию усовершенствованных средств безопасности Oracle (Oracle Advanced Security).Nets Assistant — опции Local 201 Подобно брокеру. 7. при помощи которой можно получить дополнительную информацию об опциях каждой вкладки. Как видно из рис.ora. чем" (<). В первом из них перечислены доступные методы именования (Available Methods). со знаком "больше. что сначала нужно обратиться к файлу tnsnames.8. . вы можете указать. в которой Net8 будет пытаться получить информацию для разрешения имени. использующему профили для учета пожеланий клиентов. • Предпочтительный путь для маршрутизации соединений.д. который будет добавляться к клиентской строке соединения. когда клиент не указывает домен. чем" (>). Второй список одновременно задает последовательность использования методов. Oracle Names (Служба имен Oracle) и External (Внешнее именование). В приложении А приведены все возможные параметры конфигурации Net8. Когда вы щелкнете на опции Profile. каким образом его можно настраивать. в правой части окна Net8 Assistant появится раскрывающийся список и несколько вкладок. Обратите внимание на четыре управляющие кнопки. например. Профиль именования В раздел Naming входят три вкладки: Methods (Методы именования). Теперь вы имеете представление о том. используется для перемещения доступного метода в список выбранных методов. Следующая кнопка. Посмотрим. со знаком "меньше. Там содержится много полезной информации. содержащий информацию профиля. Например. Список содержит следующие пункты: • Naming (Именование) • General (Общий) • Preferred Oracle Names Server (Предпочтительный сервер имен Oracle) • Oracle Advanced Security (Усовершенствованные средства безопасности Oracle) Внизу находится кнопка Help. на вкладке Methods находятся два списка. какую информацию может содержать профиль. которую вы будете изучать. помогающей более эффективно конфигурировать систему. называется sqlnet. • Будут ли задействованы средства протоколирования и трассировки для выявления и разрешения проблем. следующее: • Домен по умолчанию. a во втором — выбранные методы (Selected Methods). С помощью этих параметров вы можете указать. которые вы предпочитаете использовать на клиентских машинах и серверах своей сети. Oracle сохраняет в профиле те настройки Net8. Файл.ora. затем — к серверу имен Oracle и т. • Как должно быть сконфигурировано внешнее именование. Первая кнопка. • Последовательность. Рекомендую просматривать справку по каждой опции.

Здесь можно указать максимальное число открытых соединений (Maximum Open Connections). определяющее. Последняя область этой вкладки относится к производительности. Net8 сначала обратится к файлу tnsnames. Здесь можно задать имя домена по умолчанию.202 Глава 7 позволяет удалить метод из списка выбранных методов. сколько времени Net8 будет ждать перед посылкой запроса следующему серверу имен Oracle. в которой Net8 будет пытаться разрешить имя.ora. Если имя не удастся разрешить после обращения ко всем этим методам. Attempts Per Names Server — это число от 1 до 5. будет выдано сообщение об ошибке. Кнопки Promote (Повысить) и Demote (Понизить) предназначены для изменения порядка расположения методов в списке. которое показано на рисунке. по умолчанию — 3). затем к серверу имен Oracle и в завершение попытается использовать метод именования по хосту. При том расположении методов. которые может иметь клиент (от 3 до 64. Оно определяет. сколько попыток разрешения имени будет предпринято перед выдачей сообщения об ошибке. когда домен не указан. Можно также указать интервал между последовательными попытками разрешения имени (Maximum Wait Each Attempt) и количество этих попыток (Attempts Per Names Server). 7.9). а тем самым и последовательности. Другой параметр (Initial Preallocation Requests) используется для предварительного выделения начального количества сообщений . 7. которое будет использоваться. Значение Maximum Wait Each Attempt — это число секунд от 1 до 600. Рис.8. Выбор методов именования Вторая вкладка раздела Naming называется Oracle Names (рис.

7. Предположим.10). Конфигурирование службы имен Oracle Последняя вкладка раздела Naming называется External (рис. о nflguration няи Local з Naming SH'^ Listeners ri^S Oracle Names Servers Maximum Wait Each Attempt: |15 Attempts Per Names Server: ГГ" Performance — Maximum Open Connections: |3 nilial Reallocated Requests: [lfj Рис. Он может иметь значение от 3 до 256. используемая в среде распределенных вычислений (Distributed Computing Environment. работающая по так называемому протоколу "желтых страниц" (Yellow Pages protocol). . что объекту базы данных присвоено имя . Она позволяет определить. В поле Cell Name указывается действующее имя соты DCE (префикс). При использовании службы каталога NetWare вы можете указать контекст имен (Name Context). по умолчанию — 10. значение по умолчанию изменять не следует. какое имя службы — полное или частичное — потребуется вводить в строке соединения. Пока сервер имен не начнет испытывать сильную перегрузку. с помощью каких служб будет выполняться разрешение имен в случае внешнего именования. определяющий местонахождение объекта базы данных. 7. и сетевая информационная служба (Network Information Services./subsys/oracle/nairies .203 NetS Assistant — опции Local в пуле сообщений клиента. В данном примере было введено [_| /. Каждая из этих служб предназначена для распространения конфигурационной информации между компьютерами сети. CDS). Возможные варианты: сотовая служба каталога (Cell Directory Service. NIS) компании Sun Microsystems. NDS). От способа указания контекста имен зависит. служба каталога NetWare (NetWare Directory Service. DCE).9. называемая также службой каталога Novell.

Общий профиль Для настройки общего профиля предназначены четыре вкладки: Tracing (Трассировка). которые выполнялись клиентом на протяжении сетевого сеанса. то можете ввести в поле Name Context значение US.COM. то создаете профиль конфигурации. Конфигурирование внешнего именования SKDL. Конфигурирование профиля для сетевой информационной службы заключается во вводе пути к специальному файлу. как в главе 4. Трассировка клиента используется для отслеживания действий.COM. На вкладке Tracing можно настраивать трассировку клиента (область Client Information) и трассировку сервера (область Server Information). 7. Logging (Протоколирование). которую вы конфигурируете в данный момент.US. содержащему имя службы базы данных. Если вы используете службу каталога NetWare. предназначенный именно для машины MARLENES-PC. Теперь рассмотрим каждую из опций подробнее. Трассировку следует включать только в том случае. Следовательно. . Все перечисленные настройки относятся к той машине. и тогда клиенту останется указать только имя SKDL. который может быть неочевиден. Перед тем как переходить к их изучению. когда возникла проблема с сетью и вы пытаетесь определить ее источник. где рассматривались глобальные имена и глобальные связи баз данных. Трассировка сервера позволяет зафиксировать действия.204 Глава 7 Рис. которые выполнялись сервером.XYZCORP. объединенных под названием General.10. стоит остановиться на одном моменте. Routing (Маршрутизация) и Advanced (Дополнительно).XYZCORP. если вы соединились с машиной MARLENES-PC и выполняете настройку параметров.

7. ориентированная на службу поддержки Oracle На каждом следующем уровне генерируется все более подробная информация. Конфигурирование трассировки ' ! . Введено также имя файла трассировки. поэтому вводить показанный на рис.11 показано. позволяющая выявлять сетевые проблемы на стороне клиента и/или сервера. в котором будет сохранен файл с трассировочной информацией. E>i-9Serv'c9 Naming e x » Listeners racle Names Servers •.11 путь на самом деле не требуется.trc для клиента и svr_<pid>. Чтобы включить трассировку клиента и/или сервера. На рис. Установка флажка Unique Trace File Name указывает. что для трассировки клиентской информации установлен уровень ADMIN. Если вас устраивают эти имена и каталог по умолчанию. 7. связанных с действиями пользователя » ADMIN: трассировка для выявления системных проблем • SUPPORT: трассировка. а местонахождение каталога задано строкой D:\Oracle\Ora81\Network\trace.205 Nets Assistant — опции Local В обоих случаях параметр Trace Level (Уровень трассировки) может принимать следующие значения: • OFF: трассировка выключена (устанавливается по умолчанию) » USER: трассировка для выявления ошибок. что оно должно сохраняться уникальным. По умолчанию файлы трассировки помещаются в каталог $ORACLE_HOME/network/trace (в UNIX) или ORACLE_ HOME\network\trace (в Windows NT). указать каталог.11. По умолчанию файлы трассировки называются sqlnet. нужно выбрать один из уровней трассировки.trc Unique Trace File Name: K? Server Information Trace Level: [OFF Trace Directory: \ Trace File: Рис. и задать имя этого файла. 7.trc для сервера. то для включения трассировки достаточно выбрать ее уровень.Client Information --*** * -• —*- [ADMIN I Trace Level: i Trace Directory: ID'toracleiOraSHNetw I Trace File: IcIienTji'ace.

что процесс выделенного сервера обслуживает только один сеанс и существует на всем его протяжении. по работе служб) с целью определения структуры трафика. что все запросы данной машины должны всегда маршрутизироваться указанным способом. Клиентский файл журнала по умолчанию называется sqlnet. Устанавливая какой-либо из этих флажков. возникающие при работе Net8. которая дает подробную информацию о выполняемых действиях. Кроме того.12. К каким последствиям приведет . и сохранять информацию о них для последующего анализа. протоколирование позволяет отслеживать ошибки. По умолчанию для регистрации используются каталоги $ORACLE_HOME/network /log (в UNIX) или ORACLE_HOME\network\log (в Windows NT). на вкладке Routing находятся два флажка. Рис. а файл всегда имеет стандартное имя. протоколирование предоставляет общие сведения об удачных или неудачных соединениях процессов. Вспомните. Вкладка Logging.12.:[ г. поскольку параметр server=DEDICATED будет передаваться в дескрипторе соединения.. Как видно из рис. Конфигурирование протоколирования .13.log. используется для указания каталога журнала (Log Directory) и файла журнала (Log File). В отличие от трассировки. 7. вы можете собирать различную статистику (например. 7. Для сервера можно задать только каталог. •• : •..206 Глава 7 Когда и зачем нужно включать протоколирование на стороне клиента или сервера? Прежде всего.. Первая возможность заключается в создании выделенного сервера для каждого сетевого сеанса данного клиента. 7. показанная на рис. вы сообщаете Net8.-•. . Эта установка перекроет любые установки многопоточного сервера.-..

Параметры этой вкладки позволяют дополнительно настроить профиль для клиентской или серверной машины. Конечно. Чтобы эти специальные соединения получили приоритет над всеми остальными. как в случае загрузки больших массивов данных в пакетном задании. настройки будут относиться к той машине. О менеджере соединений Oracle будет подробнее рассказано в главе 10.207 Nets Assistant — опции Local Always Use Dedicated Servsr Г Prefer Connection Manager Routing Г Рис. спите вы или нет. 7. Эта установка подходит при выполнении крупных транзакций с очень небольшими периодами простоя. хотя его никто не смотрит. чтобы он периодически проверял. Prefer Connection Manager Routing. Как и при установке параметров на других вкладках раздела General.13. за одну ночь мы не сэкономим . забыв выключить телевизор? Согласитесь — неплохо "сконфигурировать" телевизор так. а телевизор работает. Конфигурирование маршрутизации установка флажка Always Use Dedicated Server? Соединение данного клиента будет быстрее. 7. находитесь в комнате или вышли. когда это возможно. на которой вы работаете. Второй флажок. Концентрация соединений. отмечается специальным образом. который устанавливает соединения через менеджер соединений. мультипротокольная поддержка и управление доступом на уровне Net8 — вот лишь некоторые из возможностей. вы должны установить флажок Prefer Connection Manager Routing. Сетевая конфигурация клиента. но выделенные соединения могут замедлить работу сервера. указывает Net8 на необходимость связываться с менеджером соединений Oracle. и при необходимости автоматически отключался. Вы когда-нибудь засыпали перед телевизором? Представьте: вы спите.14 показана вкладка Advanced раздела General. предоставляемых менеджером соединений. А сколько раз вы уходили из комнаты. На рис.

то посылка пробного пакета вызовет ошибку. представьте себе ребенка. чтобы их могли использовать другие соединения. Прослушивающий процесс включает этот идентификатор в свой файл журнала. которая позволяла бы телевизору определять ваше состояние и реагировать соответствующим образом. получилась бы приличная экономия ресурсов. Два последних элемента вкладки Advanced — это флажки. сейчас нет такой технологии. чтобы задать период посылки пробных пакетов. который в процессе создания своей картины изрисовал все вокруг. К сожалению. но если бы достаточно большое количество телевизоров отключалось. Однако в мире сетей Oracle вы можете использовать параметр TNS Time Out. показанный на рис. Регистрационный идентификатор клиента (Client Registration ID) — это строка длиной до 128 символов. Первый из них обозначен как Turn Off UNIX Signal Handling (Выключить обработку сигналов UNIX). однозначно идентифицирующая данного клиента. Этот параметр можно использовать только на сервере. 7.208 Глава 7 TNSTime Outvalue: Client Registration ID: Turn OffUNIX Signal Handling: Г Disable Out-of-Band Break Г Рис.14. либо его родители должны навести порядок. Потом либо сам ребенок. чтобы следить за сетевой активностью. стен и потолка взрослый сам окажется перепачкан. 7. когда люди засыпают или уходят из комнат. позволяющих проверить. Таким способом вы можете идентифицировать каждого клиента Oracle в своей сети. . но продолжает оставаться открытым. Однако в процессе стирания мела со стола.14. В этом случае сервер закроет соединение и освободит ресурсы. активно ли соединение клиент-сервер. Чтобы лучше понять его назначение. играющего с мелками. Если клиент аварийно завершил свою работу или соединение больше не используется. Конфигурирование дополнительных параметров профиля много электроэнергии. и ему тоже придется чиститься.

кто убирался. либо родительскому процессу. Вы можете разрешить выполнение очистки либо инициализирующему. В большинстве случаев лучше предоставить обработку таких ситуаций инициализирующему процессу. как это происходит. Тот. то за обработку будет отвечать родительский процесс. 726 . такие. как /etc/re*. клиент может отменить операцию во время ее выполнения. и выполняет следующие задачи: • Будучи вызван ядром UNIX после завершения процедуры начальной загрузки. Процесс. Профиль предпочтительных серверов имен Oracle Чтобы клиентские машины могли получать информацию от серверов имен Oracle. кто-то должен убрать за ребенком. сконфигурированные при помощи UNIX-функции atexit(O). используемый клиентом. Инициализирующий процесс UNIX всегда имеет идентификатор процесса (PID). для которых он создавался. когда базовый транспортный протокол. Разберемся. В противном случае все посланные запросы будут обрабатываться до конца. Все это описано в стандарте UNIX SVR4. Для завершения процесса могут с равным успехом использоваться пользовательские обработчики выхода. когда тот закончит рисовать. необходимо определить их местонахождение в сети. Они должны завершать процедуру очистки. Для успешной очистки родительский процесс должен иметь возможность обрабатывать все прерывания по сигналам завершения. Обычно этот флажок устанавливается в том случае. Если вы установите флажок Turn Off UNIX Signal Handling. что клиентское приложение может породить серверный процесс изнутри базы данных. В этом случае приложение отвечает за наведение порядка после завершения порожденного им процесса. это одна из тех задач. Установив флажок Turn Off UNIX Signal Handling. Если не устанавливать этот флажок. считывает системные файлы инициализации. Например. Иными словами. и переводит систему в заданное состояние. когда родительский процесс завершается. через протокол локального обмена. Второй флажок обозначен как Disable Out-of-Band Break (Запретить внеполосные прерывания). Последовательность перечисления серверов имен будет определять. а не обработчиками сигналов. не дожидаясь завершения порожденных им процессов. равный 1. теперь сам покрыт мелом. За уничтожение таких процессов отвечают обработчики сигналов (signal handlers). • Становится родительским процессом для любого "висящего" порожденного процесса. с каким из 8 Зак. обеспечивавший очистку. что очистка после завершения порожденного процесса должна выполняться инициализирующим процессом UNIX. то обработка сигнала завершения процесса будет выполняться инициализирующим процессом UNIX. что требует написания дополнительного кода. не поддерживает внеполосные прерывания. Если он установлен.NetS Assistant — опции Local 209 Какое отношение это имеет к обработке сигналов? Дело в том. В конце концов. вы указываете NetS. становится ненужным после выполнения своей задачи. последние становятся "висящими" и наследуются инициализирующим процессом.

На платформе UNIX элементы этого списка хранятся в файле . что порядок перечисления серверов в списке предпочтительных серверов замещает порядок. По этой команде составляется список серверов имен. что раскрывающееся меню Command содержало команду Discover Oracle Names Servers (Обнаружить серверы имен Oracle). Semes Naming > Listeners &4jOracle Names Sewers Рис. Если вы решите использовать команду обнаружения после ввода значений в разделе Preferred Oracle Names Servers. 7. В некоторых . то вам следует удалить все записи из профиля предпочтительных серверов. в котором они перечислены в списке обнаруженных серверов. Полагаю. Конфигурирование предпочтительных серверов имен Этот экран отличается от предыдущих тем. поскольку для выбора предпочтительного сервера имен нужно иметь как минимум один такой сервер. 7. На вкладке расположен раскрывающийся список протоколов. а на платформе Windows NT — в файле sdns.15. Как видно из рис. Протоколы и связанные с ними параметры перечислены в таблице 7. Для каждого из них требуется указывать определенные параметры. взятой непосредственно со справочного экрана Net8 Assistant. Имейте в виду.ora.1.sdns.210 Глава 7 них клиент попытается установить связь в первую очередь. что кроме кнопки Help здесь присутствуют кнопки New и Delete.15. раздел Preferred Oracle Names Servers содержит всего одну вкладку.ora. Вспомните. то вкладок вообще бы не было. Если бы заранее не был сконфигурирован сервер имен Oracle. упорядоченный по времени их отклика — от меньшего к большему. что они не нуждаются в объяснении.

основанного на TNS. Но как вы удостоверите свою личность в разговоре по телефону? Как правило. При наличии паспорта вы можете путешествовать по всему миру. для этого вам потребуется сообщить специфическую информацию. Когда вы подходите к кому-нибудь на вечеринке. Таблица 7. Необходимо показать свидетельство о рождении или другой документ.Net8 Assistant — опции Local 211 случаях требуется более одного параметра. Release 2 предусмотрена поддержка многих адаптеров аутентификации. этого бывает достаточно. то потребуются более веские доказательства. две фотографии и подать заявление на получение паспорта. . Имя сетевого приложения. Это имя может быть любым. что вы — это вы. что вы — это действительно вы.1. key server pipe В данном примере я выбрала протокол TCP/IP. использующем протокол Named Pipes). что вы действительно тот. Но если вы первый раз получаете водительское удостоверение. Корпорация Oracle рекомендует использовать имя службы." и называете свое имя. Поскольку TCP/IP и TCP/IP с SSL требуют одинаковых параметров. вам нужно взять свидетельство о рождении. Одних слов здесь недостаточно. обычно говорите: "Привет. Паспорт служит доказательством. например девичью фамилию матери или свой номер социального 8* . Как правило. Чтобы поехать в другую страну. Протоколы и требуемые параметры Протокол IPC Named Pipes Named Pipes SPX TCP/IP и TCP/IP cSSL TCP/IP и TCP/IP cSSL Параметр service host Описание Способ идентификации сервера.. Имя канала. и тогда вы увидите несколько полей ввода. присвоенное серверу. Имя хоста. Профиль усовершенствованных средств безопасности Oracle В OracleSi. и ваш собеседник не задает дополнительных вопросов. указав имя своей машины (MARLENES-PC) и порт 1575. подумаем о том. меня зовут . разработанных независимыми производителями. которое указывается на сервере. в таблице они объединены.. хотя и не во всех случаях. . удостоверяющий личность. за кого себя выдаете. Но что такое адаптер аутентификации? Чтобы ответить на этот вопрос. Получив водительское удостоверение. port Номер порта прослушивающего процесса. используемого для соединения с сервером (то же самое ключевое слово PIPE. не слишком вдаваясь в подробности. каким образом можно доказать. Имя базы данных OracleSi. вы сможете использовать его в качестве такого документа.

212 Глава 7 страхования вместе с адресом и телефоном. один из которых выбран. Other Params. а также ваше имя и адрес. поскольку они поддерживаются Oracle и могут конфигурироваться в разделе профиля.16. Remove (<). нулсно перейти ко второй вкладке. Для решения этой задачи используется ряд программных продуктов. Когда вам нужно аутентифицировать себя при работе на компьютере. соответствующих установленным в вашей системе продуктам. Эти конкретные продукты перечислены здесь. Integrity (Целостность). чтобы ввести необходимые параметры. К разделу Oracle Advanced Security относятся вкладки Authentication (Аутентификация). SecurlD. обозначенном как Oracle Advanced Security. 7. то оператор обычно спрашивает номер кредитной карты. На рис. К ним относятся Kerberos. дату окончания ее действия. Authentication. RADIUS. или метод. Promote и Demote. После выбора методов. Каждый продукт. имеет свой набор параметров. 7. На рис. Между списками доступных и выбранных методов расположены четыре управляющие кнопки: Add (>). Используя эти кнопки.16 показана первая из них. Identix и NTS. ситуация усложняется. Other Params (Прочие параметры). 7. но знают. CyberSafe. Если вы делаете покупку по телефону. вы можете добавлять методы и изменять порядок их расположения в списке. . На другом конце провода вас не видят. Encryption (Шифрование) и SSL. называемых в Net8 методами.17 показаны параметры службы аутентификации Kerberos(V5). Выбор методов аутентификации Всего доступно пять продуктов. Все они перечислены в приложении А. eJService Naming 3p Listeners jl Oracle Names Servers Рис. какими должны быть ответы.

2.^Oracle Names Servers Authentication Service: KERBEROSfVS) Service: • ' Credential Cache File: pjnpu«5cache Configuration File: Realm Translation File: c:>krb5y<rb. а при необходимости вы всегда можете обратиться к документации. рядом с которыми находятся раскрывающиеся списки Checksum Level (Уровень контрольной суммы). содержит два флажка. каким образом будет использоваться криптографическое контрольное суммирование. состоит в том. Server и Client. поставляемой с этими продуктами. Помните. службам NTS и SecurelD параметры не нужны. Общее правило. Возможные значения параметра Checksum Level и их описания приведены в таблице 7. показанная на рис. что данное условие выполнено.213 Nets Assistant — опции Local onfiguration Local H» Advanced Seuinly Other Params &Service Naming Listeners l±>-. обеспечивающее дополнительный контроль целостности данных с целью защиты от подмены. 7.realms KeyTaole: Clock Skew: Рис. . 7.18. Предполагая. Вкладка Integrity. которая позволяет проверить. что кнопка Help позволяет получить справку по каждому из параметров. На вкладке Integrity вы можете указать. не отраженное в таблице 7. Изучите их самостоятельно. a Identix и CyberSafe требуют по одному параметру. что будет происходить при выборе каждого из этих значений. все пересылаемые по сети сообщения разбиваются на фрагменты. выясним. Конфигурирование служб аутентификации Службы Kerberos и RADIUS требуют нескольких параметров. не было ли содержимое пакета искажено во время передачи. Для чего они используются? Как вы знаете из глав 1 и 2. Заголовок каждого пакета содержит контрольную сумму. что во всех случаях на обоих концах соединения должны использоваться совместимые алгоритмы вычисления контрольной суммы. помещаемые в пронумерованные пакеты.17.2.

то соединение не будет установлено. 7. даже если этого желает другая сторона. Конфигурирование средств контроля целостности данных Таблица 7. если этого желает другая сторона. Но если вы укажете . я заявляю. Accepted Использовать службу безопасности. поскольку я не просто желаю вычислять контрольную сумму. Возможные значения параметра Checksum Level для клиента и сервера Значение Описание Required Использовать службу безопасности или не устанавливать соединение. Устанавливая у себя значение Accepted. что мне не нужна служба безопасности. как можно ожидать. Устанавливая значение Rejected. а требую этого. что не хочу использовать службу безопасности. что я хочу установить соединение с вашей машиной. но. я заявляю. если это разрешено другой стороной. Если вы укажете значение Required. но я буду ее использовать. несмотря на это. мне нужно установить соединение. Если у меня установлено значение Required (Требуется). Во всех сценариях предполагается. что значение Rejected (Отклоняется) работает не совсем так.18. Rejected Не использовать службу безопасности. то соединение будет установлено.214 Глава 7 Service Naming Listeners eM%Oracle Names Servers Рис. Requested Использовать службу безопасности. если на вашей стороне установлено значение Required или Requested и наши алгоритмы совпадают. Requested или Required. то соединение не будет установлено.2. если у вас стоит значение Accepted. Интересно. Если я установлю значение Requested (Запрашивается). а у вас — Accepted (Допускается).

На рис. что и параметр Checksum Level на вкладке Integrity. Конфигурирование средств шифрования Последняя вкладка раздела Oracle Advanced Security относится к протоколу SSL (Secure Socket Layer).19 выбран вариант Server. Ключ шифрования (Encryption Seed) представляет собой случайно выбранный набор символов. Раскрывающийся список Encryption содержит два пункта: Client и Server. На рис. Следующая вкладка раздела Oracle Advanced Security — Encryption. показанный на рис. то соединение будет нормально установлено без использования службы безопасности. Вкладка SSL показана на рис. Этот протокол. Параметр Encryption Type (Тип шифрования) может принимать те же значения. После щелчка на опции Client или Server экран примет вид. . и дело сделано. что достаточно выбрать одну из опций. По ее виду можно заключить.19. обеспечивает аутентификацию. rejected.21.19 ни один из них не выбран. 7. uration Local NN•1 S>Q Service Naming e^J» Listeners ЕЫ%Oracle Names Servers Рис. Всего доступно пять методов шифрования. В главе 13 эти значения рассматриваются более подробно. 7. required и requested.Nets Assistant — опции Local 215 значения Requested. В данном случае щелчок произведен на опции Server. Но это не так. 7. на котором основано шифрование. 7. Accepted или Rejected. а именно: accepted. шифрование и контроль целостности данных для клиентов и серверов. и вам потребуется ввести дополнительную информацию.20. представляющий собой промышленный стандарт. 7.

TCP/IP with SSL. Вкладка SSL .Directy Holt: In order to им SSLfof server o6nn«etloru. you must ch the protocol.21. when oonfigurinn the Listen* Рис.216 Глава 7 Рис. Конфигурирование SSL для сервера .20.Configure SSL forr blient * Server Wallet. 7. 7.

В первую очередь необходимо указать каталог. где я живу. Я убедилась.217 Nets Assistant — опции Local Набор клиентских опций будет отличаться только отсутствием нижнего флажка. Можно пробираться по главным улицам. часто переполненным людьми. свернув в боковые переулки. что если вы собираетесь использовать SSL. я довольно ленива и при выполнении какой-либо задачи предпочитаю вводить как можно меньше слов. Окно выбора комплекта шифров Раскрывающийся список Require SSL Version (Требуемая версия SSL) содержит два пункта: Any (Любая) и 3. По умолчанию устанавливаются шесть семейств шифров (sipher suites). Если установить флажок Show US Domestic Cipher Suites (Показать семейства шифров.22).22. рис. Мой метод локального именования сконфигурирован так. до продуктового магазина можно добраться несколькими разными путями. напоминает о том. Конфигурирование имен служб В районе. доступные на территории США). чтобы я могла вводить простые имена сетевых служб. например Q connect NELSON/NELPW@SKDL. 7. требуется ли аутентификация клиента. что это позволяет попасть в нужное место гораздо быстрее. то число вариантов увеличится до 13. f Select в Ciphei Suite to enable Authentication ! Encryption RSA_EXPORT DES40_CBC RSA_EXPORT RC4_40 RSA NULL • XI I Data Integrity SHA MD5 SHA RSA NULL MD5 DH_anon DH_anon RC4_40 MD5 DES40.CBC SHA ~ Show US Domestic Cipher Suites JJkj Cancel [ Рис. я пользуюсь псевдонимами. хотя он длиннее почти на четверть мили.0. Когда мне нужно соединиться с базой данных или службой. то при конфигурировании прослушивающего процесса необходимо указать протокол TCP/IP с SSL. В часы пик я предпочитаю обходной маршрут.XYZCORP. приведенное прямо над кнопкой Help. которые будут показаны после щелчка на кнопке Add (см. Замечание. в котором будет храниться ваш электронный бумажник (security wallet).US. Признаюсь. которые затем транслируются в необходимую строку соединения. который показывает. 7.COM . а можно пойти в обход. Вместо полной строки соединения.

что теперь этот инструмент вошел в состав Net8 Assistant под видом опции Service Naming. Начальный экран Service Naming После щелчка на знаке плюса или выбора пункта меню Edit >• Create появится окно мастера имен сетевых служб (Net Service Name Wizard). Заметим. как выглядит экран после выбора опции Service Naming. требуемую для установления запрошенного соединения. Если вы знаете. как настроить метод локального именования для разрешения простых имен в дескрипторы соединений. как работать с Net8 Easy Config. Одновременно становится доступным пункт Create в раскрывающемся меню Edit. большой знак плюса (+) в крайней левой части окна становится зеленым. 7. то можете лишь бегло просмотреть данный раздел. что теперь можно создавать имена сетевых служб.Глава 7 218 я предпочла бы ввести Q connect NELSON/NELPW@SKDL и предоставить системе самой разрешить простое имя в информацию. то обнаружите. имя сетевой службы в поле Net Service Name уже введено. В правой части окна приведена довольно полезная вводная информация. Как видите. 7. 7. поставлявшегося с более ранними версиями Oracle. показывая. показанное на рис. Когда вы щелкаете на опции Service Naming в навигационном дереве. В этом разделе рассказано о том.23. Рис. что если вы пользовались какой-либо версией инструмента Net8 Easy Config. .24. На рис.23 показано.

219 Nets Assistant — опции Local To access an Oracle database. вы получили бы приглашение на ввод информации о конфигурации именно этого протокола. то увидите. Если вы внимательно посмотрите на рис. характерная для TCP/IP: имя компьютера.26. ТСРЛР with SSL (Secure Internet ProtocoD ISPX (NetWare Networking) Named Pipes (Microsoft Networking) [iPC (Local Database) i Рис. Select the protocol usedforthe database you want to access. 7. Экран выбора протокола На третьем экране нужно ввести параметры выбранного ранее протокола. 7. Здесь выбран TCP/IP. и порт прослушивающего процесса. 7. a network protocol is used. Выбрав другой протокол. This wizard will help you create a net service name. Net Service Name: Back Рис. Как показано на рис.25. or other service. SPX. 7.24. across the network you use a net service name. в число возможных вариантов входят TCP/IP. для протокола . что там запрашивается информация. Enter the name you want to use to access the database or service. TCP/IP с SSL. Например. на котором находится база данных. Начальный экран мастера имен сетевых служб На следующем экране вам будет предложено выбрать подходящий сетевой протокол для соединения с базой данных.25. То communicate with the database across a network. Named Pipes и IPC. It can be any name you choose.

You should not normally need to specify a different port number.27. Port Number: 1521 Cancel Рис. Enter the TCP/IP host name for the computer where the database is located. Экран выбора имени сетевой службы .220 Глава 7 То communicate with the database using the TCP/IP protocol. IMARLENES-PC A TCP/IP port number is also required. 7. что здесь нужно вводить полное доменное имя. e (OracleBi) Service Name: JSKDLXVZCORP US^COMJ <~ (OracleS or Previous) SID: Optionally.27. Параметр OracleSi Connection Type (тип соединения OracleSi) может принимать значения Database Default. Экран настройки протокола SPX нужно вводить имя службы SPX. а для протокола IPC — значение ключа. В данном случае выбран вариант Database Default. В поле Service Name уже введено имя службы для своей базы данных. для протокола Named Pipes — имя сервера и имя канала. for OracleSi. or system identifer (SID). the database computer's host name is required. вы увидите экран. The port number for Oracle databases \s usually 1621. The default Is to let the database decide. 7. 7. а не только псевдоним. you can choose if you want a shared or dedicated OracleBi database connection. показанный на рис. Shared Server и Dedicated Server.26. Заполнив все предлагаемые поля и щелкнув на кнопке Next. Обратите внимание. The service name for an OracleSi database is normally its global database name. for OracleS or previous database versions. OracleSi Connection Type: [Database Default <i Back Рис. Net Service Name wizard. page 4 of 5: Seivice To identify the database or service you must provide either its service name.

Сообщение об успешном завершении тестирования . Test. Press Test if you would like to verily that the database can be reached using the information provided. or if you want to skip testing. 7.} [ Finish Рис.221 Nets Assistant — опции Local Указав все значения. вы увидите экран. password: tiger Attempting to connect using userid: scott The connection test was successful. используемую для тестирования..29. please wait. Экран тестирования сетевой службы В случае успешного завершения теста вы увидите результаты. iack tjext Г. [ Test] Close | Рис.28. что новое имя сетевой службы сконфигурировано правильно. Change Login.28. When you are finished. 7. If it takes longer. To change the userid and password used for the test press Change Login.29. 7. Next to continue. и щелкнув на кнопке Next. показанные на рис. the reason for any failure will be displayed. If enabled.. Здесь вам дается возможность проверить соединение с указанной службой. Expect connecting to the database to take from one to several seconds to complete. When finished testing press Close... / ' : Initializing first test to use userid: scott. требуемые на этом экране. press Finish to create the net service name or. Кнопка Change Login позволяет изменить учетную запись. Выполнив тест. показанный на рис. вы убедитесь. 7.

в котором можно ввести дополнительную информацию о службе. На этом экране представлены все значения. то появится другое окно. Экран Service Naming с информацией о службе SKDL Если результаты тестирования вас удовлетворяют. 7. которые вводились при создании имени сетевой службы. 7. Окно дополнительных параметров службы . можете закрыть окно Connection Test и щелкнуть на кнопке Finish. Instance Name: Session Date Unit: [ Г use for Heterogeneous Services Oracle Rdb Settings Rdn Database: f" Type of Service: Рис. и вы увидите информацию о параметрах.31. Новая служба немедленно появится в навигационном дереве. 7. показанную на рис. Local Profile Service Naming j-4$extproc_connection_data h$orcl. Если щелкнуть на кнопке Advanced в разделе Service Identification.wortij Рис.Глава 7 222 ta Configuration ф-'-t. •Additional Service Settlnjs —.30. 7. Это окно показано на рис.31.30.

Начальный экран Listeners показан на рис.33. после щелчка на опции Listeners в навигационном дереве Net8 Assistant вы увидите экран с общей информацией. Конфигурирование прослушивающих процессов Как и в случае с опцией Service Naming. а также указать.32. а большой знак плюса станет зеленым. Окно выбора имени прослушивающего процесса . Рис. 7. Listener Name: |UST1 OK| Cancel) ^Help'] Рис. Рассмотрим процедуру создания прослушивающего процесса. показанного на рис. 7.33. что вы хотите обращаться к данной службе через службу неоднородности.223 Nets Assistant — опции Local Окно Advanced Service Options позволяет ввести информацию о базе данных Oracle Rdb. 7.32. Начальный экран Listeners Прослушиваемые адреса Щелчок на зеленом знаке плюса или выбор пункта меню Edit >• Create приведет к появлению окна выбора имени прослушивающего процесса (Choose Listener Name). 7. Я ввела здесь имя LIST1.

7. то при переходе к разделу General Options будет выдано сообщение об ошибке.35. показанная на рис. Другие пункты этого списка — General Parameters (Общие параметры). содержащая ту же информацию. как и при конфигурировании имени службы. После щелчка на кнопке Add Address появится вкладка Addressl. что и вкладка Addressl. то будет создана вторая вкладка. 7. Начальный экран прослушивающего процесса LIST1 Справа вверху находится раскрывающийся список с выбранным пунктом Listening Locations (Прослушиваемые адреса). что пока не сконфигурирован ни один прослушиваемый адрес. Рядом с ней находятся также кнопки Help и Remove Address (Удалить адрес). В центре экрана сообщается. а справа появятся различные опции. Если вы щелкнете на кнопке Add Address еще раз.34. Рис. позволяющие продолжать процесс конфигурирования. который уже используется другим прослушивающим процессом.34. Если вы укажете порт. и для продолжения конфигурирования вам придется изменить номер порта. 7. Начальный экран для нового прослушивающего процесса показан на рис. новый прослушивающий процесс будет помещен в раздел Listeners навигационного дерева. В данном случае номер порта LIST1 изменен на 1526. которая была введена при создании стандартного прослушивающего процесса LISTENER во время установки системы. и предлагается нажать кнопку Add Address (Добавить адрес). но без номера порта. Список Protocols позволяет выбирать такие же протоколы. .224 Глава 7 Когда вы щелкнете на кнопке ОК. Она содержит информацию. расположенную внизу. Database Services (Службы баз данных) и Other Services (Прочие службы).

ora. Поле Listener Name серого цвета. 7. введенная в поле SNMP Contact Information. информация SNMP).37). Обычно здесь указывается имя пользователя.36 показано. Если установить флажок Register Services with Oracle Names. На рис. Если протоколирование разрешено. . то при запуске прослушивающий процесс будет регистрировать информацию о службах на серверах имен Oracle. Чтобы его изменить. поскольку имя прослушивающего процесса уже выбрано. Она используется Oracle Enterprise Manager и может быть любой. Адресная информация для прослушивающего процесса LIST1 Общие параметры Раздел General Parameters содержит три вкладки: General (Общие). 7.225 Nets Assistant — опции Local г Network Address i Protocol: (тСРЛР Host jmarlenas-pc Рис. необходимо удалить и заново создать прослушивающий процесс. Вкладка Logging & Tracing (рис. кроме Register Services with Oracle Names (Зарегистрировать службы на серверах имен Oracle) и SNMP Contact Information (Контактная. предназначена для конфигурирования средств протоколирования и трассировки нового прослушивающего процесса. записывается в файл snmp. Другие параметры. 7.log. Logging & Tracing (Протоколирование и трассировка) и Authentication (Аутентификация). то по умолчанию файл журнала размещается в каталоге $ORACLE_HOME/network/log (на платформе UNIX) или ORACLE_HOME\network\log (на платформе Windows NT) и называется по имени прослушивающего процесса с добавлением расширения . объяснялись в главе 3.35. и/или имя администратора. как следует из названия. работающего с данным клиентом. Информация. какие параметры нового прослушивающего процесса можно задать на вкладке General.

i.fD. Basic information useful for solving a site related problem Trace File: j.\oracielO™ennetworKilog\LiSTl .i»..nejworWtre Рис.- - Рис. * Logging Enabled' i Log F!le.226 Глава 7 Profile Service Naming ^ Listeners t-v?» LISTENER i Г Register Services with Oracle Names i-• • SNMP Contact Information .36. . 7.- .log * Tracing Disabled r" Tracing Enabled" — Trace Levetjj. Конфигурирование протоколирования и трассировки для прослушивающего процесса . 7. Конфигурирование общих параметров прослушивающего процесса f" Logging Disabled .37.

здесь также сообщается.39. Вы можете выбрать любой пароль или вообще не защищать прослушивающий процесс паролем.38.1. Как видно из рис. Вкладка Authentication. В версии 8. Э-1Й Neffi Configuration Local Profile Service Naming ^Listeners LISTENER kf i Oracle Names Servers * Oo Not Require a Password for Listener Operations <~ Require a Password for Listener Operations - Password: Рис. то по умолчанию файл трассировки будет помещен в каталог $ORACLE_HOME/network/trace (на платформе UNIX) или ORACLE_HOME\network\trace (на платформе Windows NT) и будет назван по имени прослушивающего процесса с добавлением расширения . Конфигурирование аутентификации для прослушивающего процесса Внимание В версии 8.38. что базы данных OracleSi сами регистрируются в прослушивающем процессе при запуске. позволяет задать пароль для нового прослушивающего процесса. вы увидите сообщение.6 информация. введенная на вкладке Logging & Tracing. 7. Службы баз данных Перейдя к разделу Database Services в первый раз. 7. в котором говорится.trc. .7 эта ошибка исправлена. что для данного прослушивающего процесса не были явно сконфигурированы службы баз данных. Тем не менее вы можете вручную указать информацию о базах данных.1. показанная на рис. 7.ora. поэтому для включения регистрации и трассировки требуется вручную редактировать файл listener.227 NetS Assistant — опции Local Если вы включите трассировку. не сохраняется по команде Save Network Configuration. работающих под управлением более ранних версий Oracle.

какую информацию предстоит вводить при необходимости ручного конфигурирования служб баз данных. Параметры прослушивающего процесса базы данных Чтобы вы знали.228 Глава 7 Рис. на рис. &SJNetS Configuration Local Profile SaiService Naming Listeners LISTENER Global Database Name: Oracle Home Directory: SID: 6>^jiOracle Names Servers * Do Not Use Prespawned Dedicated Servers rr Use Prespawned Dedicated Servers - Add Database В Remove DataBase | Help Рис. Конфигурирование службы базы данных . как будет выглядеть экран после щелчка на кнопке Add Database. 7.40 показано. 7.40.39. 7.

7. Рис. Примерами могут служить внешние процедуры. соединения с которыми устанавливаются через службу неоднородности. 7.41. . На рис. но от которых ваш прослушивающий процесс должен принимать запросы на соединения.42 показано. 7. а также службы. не являющиеся службами Oracle. Как видно из рис.41.Nets Assistant — опции Local 229 Прочие службы Последний раздел конфигурации прослушивающего процесса называется Other Services. Однако службы могут регистрироваться в прослушивающем процессе динамически. Начальный экран конфигурирования прочих служб Здесь вы можете указать службы. для данного прослушивающего процесса не были явно сконфигурированы какие-либо другие службы. какие параметры нужно задать для конфигурирования службы.

относящейся к категории "прочие" . 7.42. Program Name: Program Argument Zero: Program Arguments: Environment: SID: Oracle Home Directory: Рис.230 Глава 7 Global Service Name. Конфигурирование службы.

Nets Assistant — опции Oracle Names Servers .

8.1.Create. Одновременно знак плюса в левой части окна изменит цвет с серого на зеленый. либо щелкнув на большом знаке плюса в левой части окна. . начнем. вы увидите вводную информацию. Начальный экран показан на рис. Там же описывалась процедура создания глобальной связи базы данных. Итак. либо выбрав пункт меню Edit >. чтобы вы могли сопоставить их с описанием из главы 4. и сообщается. что такое служба имен Oracle.1. что вы можете создать новые серверы имен Oracle. для чего и как создается сервер имен Oracle.232 Глава 8 О) главе 4 было очень подробно рассказано о том. Еще здесь говорится о том. относящиеся к серверам имен Oracle. 8. как выглядят экраны Net8 Assistant. Сейчас посмотрим. Создание и конфигурирование серверов имен Oracle Щелкнув первый раз на опции Oracle Names Servers в навигационном дереве Net8 Assistant. Рис. что для поиска серверов имен Oracle во всех фиксированных местах сети нужно выбрать пункт Discover Oracle Names Servers в раскрывающемся меню Command. Начальный экран Oracle Names Servers На этом экране кратко объясняется. указывая на возможность создания сервера имен Oracle.

Учтите: далее предполагается. Повторно запустите сценарий ORACLE_HOME\Network\Names\ namesini. что в вашей среде еще не создавались серверы имен Oracle. (В случае TCP/IP корпорация Oracle рекомендует использовать стандартный порт 1575.sql. 5. Я проверяла ее только для сервера имен корневого региона и полагаю. хранящего информацию в базе данных. 3. 3. мы проверяли каждый шаг. 4. поэтому не удивляйтесь. а также ключ \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ <cyщecтвyющee_имя_cepвepa_NTNAMES>. если воспользоваться описанной ниже процедурой (она применима только к Windows NT). которая находится в верхней левой части окна Net8 Assistant. давайте вспомним. Теперь. Для создания сервера. Выберите опцию Oracle Names Servers в панели навигатора. ONRS_REGION и ONRS_CONFIG. как он создавался.ora. Выберите пункт Create в раскрывающемся меню Edit или щелкните на кнопке с большим зеленым плюсом (+).) « Будет ли информация об именах храниться в базе данных или тиражироваться между серверами имен. в какой из ваших баз данных будет храниться . выберите "Use a region database" ("Использовать региональную базу данных"). Перечисленные ниже шаги взяты из главы 4. выполняя описанные действия. Таблицы этой базы данных должны быть созданы до запуска мастера имен. удалив сервер имен Oracle. В результате был создан сервер имен Oracle. Но сделать это можно. Запустится мастер имен (Names Wizard). Определите. что в других случаях могут возникнуть осложнения. Итак. С помощью regedit удалите из реестра NT Service.Nets Assistant — опции Oracle Names Servers 233 Рассказывая в главе 4 о создании сервера имен Oracle. 2. Мастер имен предложит указать: • Уникальное имя сервера имен Oracle. • Адрес протокола для нового сервера имен. Удаление корневого сервера имен на машине с Windows NT выполняется следующим образом: 1. 2. ONRS_SERIAL. удалите из этой базы данных следующие таблицы: NMO_MASTER. Перезагрузите машину. если они покажутся вам знакомыми. В противном случае экраны будут выглядеть по-другому. Net8 Assistant не позволяет его удалить. Удалите или переименуйте файл ORACLE_HOME\network\admin \names. запустите инструмент Net8 Assistant и выполните следующие операции: 1. Если сервер имен Oracle хранил информацию о конфигурации в базе данных.

нужно щелкнуть на кнопке ОК.) • Имя пользователя и пароль учетной записи. а для SID указано значение ORCL • Будет ли данный сервер имен Oracle принадлежать к корневому административному региону. Управление сервером Теперь. вы должны щелкнуть на кнопке Apply (Применить) в нижней части окна. Чтобы подтвердить прочтение сообщения. Управляющие команды Если раскрыть раздел Oracle Names Servers в навигационном дереве и щелкнуть на созданном сервере имен. Внимание Net8 Assistant не поддерживает создание более одного сервера имен Oracle на одной машине. то по умолчанию будет показана группа вкладок Manage Server (Управление сервером) с выбранной вкладкой Control (Управляющие команды) (рис.234 Глава 8 информация сервера имен. и дополнительно предложит ввести имя домена локального административного региона и адрес сервера имен корневого региона. Выберите пункт меню File >• Save Network Configuration. чтобы создать необходимые таблицы. В случае успешного запуска появится небольшое окно с сообщением "Server started successfully" ("Сервер успешно запущен"). остановить или перезапустить выбранный сервер имен. какие опции доступны и как их использовать. В данном примере выбрано имя NAMES и пароль NAMESPW. 8. мастер имен завершит свою работу. а также имя службы или SID базы данных. . и создайте нового пользователя. В противном случае мастер решит. с которым можно работать. который будет владельцем таблиц. выясним.ini. когда у нас есть сервер имен Oracle. что сервер принадлежит к делегированному административному региону. Затем войдите в базу данных под именем этого пользователя и запустите сценарий ORACLE_HOME\Network\Names. 5. Вкладка Control позволяет напрямую взаимодействовать с сервером имен Oracle. которая будет использоваться для заполнения таблиц сервера имен. Тем самым предполагается. Выбрав команду Start (Запустить). (В случае TCP/IP корпорация Oracle рекомендует использовать стандартный порт 1521. Помимо Manage Server раскрывающийся список содержит пункты Manage Data (Управление данными) и Configure Server (Конфигурирование сервера). Если вы обозначили создаваемый сервер как корневой. что вы хотите запустить. 4. • Адрес протокола для прослушивающего процесса базы данных.2).

то кнопка Set Password позволит его ввести. В первой версии OracleSi. Чтобы подтвердить прочтение сообщения.log. то по умолчанию статистика записывается в файл names. что помимо кнопок Apply и Help в нижней части окна находятся еще две кнопки — Check Status (Проверить состояние) и Set Password (Установить пароль). Обратите внимание. После завершения записи появляется окно с сообщением "Server saved statistics to the log file" ("Сервер сохранил статистику в файле журнала"). должна ли выбранная операция выполняться немедленно (Immediately) или с отсрочкой (Wait).Nets Assistant — опции Oracle Names Servers 235 Рис. Если вы не вводили имя файла журнала на вкладке Logging. расположенный п каталоге $ORACLE_HOME/network/log (на платформе UNIX) или ORACLE_HOME\network\log (на платформе Windows NT). Вкладка Control раздела Manage Server После запуска сервера становятся доступными другие команды.2. Если вы уже задали пароль для своего сервера имен. Две опции под общим заголовком Perform Operation (Выполнить операцию) позволяют указать. нужно щелкнуть на кнопке ОК. Время ожидания задается в секундах. вы не сможете взаимодействовать с сервером. Release 2 щелчок на кнопке Check Status не дает никакого результата. . После щелчка на опции Statistics Operation (Операции со статистикой) вы получите доступ к командам Write Statisitcs to Log (Записать статистику в журнал) и Reset Statistics (Сбросить статистику). Например. можно остановить текущий сервер имен или собрать по нему статистику. Не указав этот пароль. 8.

доступная при экранном мониторинге. тогда как в файле журнала она представлена единым массивом. Настройка Вкладка Tuning (Настройка) используется для настройки некоторых параметров работающего в данный момент сервера имен Oracle. Рис. Информация. Foreign Data Items Cached (Кэшированные внешние элементы данных) и Region Data Reload Check Failures (Сбои при проверке необходимости перезагрузки региональных данных). Выполненные установки будут действовать только на протяжении текущего сеанса. что выполнение операций не запланировано. Вкладка Monitor раздела Manage Server Если щелкнуть на опции Statistics в группе Information About. Request Forwarded (Перенаправленные запросы). Фраза "not set" говорит о том. . С ее помощью можно оперативно просмотреть статистику. 8. совпадает с той. предназначена для получения информации о сервере имен Oracle. Опция Schedule of Operations for (График выполнения операций) позволяет увидеть. Кнопка Refresh (Регенерировать) позволяет увидеть самую свежую статистику. сбором статистики (Statistics) или кэшированием (Cache).236 Глава 8 Мониторинг Вкладка Monitor (Мониторинг).3. то будет показана следующая информация: Request Received (Полученные запросы). 8. что сохраняется в файле журнала. что экранная информация разделена на небольшие изолированные группы. Единственное отличие состоит в том.3. когда будет выполнена следующая операция по управлению работой сервера (Server). показанная на рис.

Минимальное значение — 1 минута. максимальное — 3 дня.ora.log.4.4. в течение какого времени сервер имен Oracle будет накапливать статистику. максимальное не определено. Параметр Statistics Reset Interval определяет. 8. Этот параметр должен быть меньше. иначе статистика никогда не будет записана. По умолчанию файлу журнала присваивается имя names. Параметр Cache Checkpoint Interval определяет. максимальное — 3 дня. с какой периодичностью сервер имен Oracle будет записывать копию кэшированной информации в дисковый файл контрольной точки. Минимальное значение — 10 секунд. Внизу находится кнопка Help. чем Statistics Reset Interval. Минимальное время — 10 секунд. после остановки и повторного запуска сервера имен все измененные в последнем сеансе параметры снова получат значения по умолчанию. которое одновременно является минимальным. максимальное — 1 час. . По умолчанию этот файл называется ckpcch.Nets Assistant — опции Oracle Names Servers 237 Рис. Auto Refresh Expiration Period — это время ожидания перед попыткой получить адресную информацию от сервера имен Oracle удаленного региона. а также кнопки Apply. Вкладка Tuning показана на рис. Минимальное значение — 10 секунд. через какое время сервер имен Oracle будет повторять неудавшуюся попытку автоматической регенерации. Параметр Statistics Log Interval определяет период выгрузки статистики в файл журнала. Вкладка Tuning раздела Manage Server Иными словами. Значение по умолчанию.— 60 секунд. Параметр Auto Refresh Retry Interval определяет. 8. Revert (Вернуть) и Set Password.

Как показано на рис. а уровень Dev (сокращение от "developers") определяет уровень разработчиков. Рис.5. Admin и Dev. Вам доступны три уровня трассировки: User. перезагрузка всей информации в региональный файл контрольной точки. если изменения произошли. . 8. 8. это следующие операции: • Flush Foreign Region Data: вытеснение всех данных удаленных регионов из локального файла контрольной точки кэша. вызванные действиями пользователя. позволяет задавать каталог и имя файла журнала и файла трассировки сервера имен Oracle. трассировка на уровне администратора (Admin) выявляет системные проблемы.6.238 Глава 8 Протоколирование Вкладка Logging (Протоколирование).5. Включение протоколирования происходит автоматически. а также включать трассировку и выбирать ее уровень. так и с указанной задержкой (в секундах). 8. • Reload From Region Database: немедленная проверка наличия изменений информации в региональных базах данных и. Вкладка Tuning раздела Manage Server Кэширование Вкладка Cache (Кэш) позволяет выполнять различные операции с кэшем как немедленно. Трассировка на уровне пользователя (User) позволяет выявлять ошибки. показанная на рис.

7. Она показана на рис. Внизу расположены уже знакомые вам кнопки Apply. Вкладка Cache раздела Manage Server Дополнительные параметры Последняя вкладка раздела Manage Server называется Adv. В нижней части окна расположены кнопки Apply (Применить). Для этой операции необходимо указывать время ожидания. (сокращение от "Advanced" — Дополнительно). 8. поскольку ее немедленное выполнение невозможно. 8. Параметры и их описания приведены в таблице 8. Для этой операции необходимо указывать время ожидания. Эта вкладка позволяет указать. *~ Reload From Region DatabaSE l:r Checkpblntcacbe Ir Dump Cache to.Net8 Assistant — опции Oracle Names Servers 239 • Checkpoint Cache: принудительная запись информации из кэша в файл контрольной точки.6. • Dump Cache to Trace File: принудительная выгрузка информации из кэша в файл трассировки. но и ретранслирует информацию другим серверам. Set Password и Help. каким образом сервер имен Oracle должен реагировать на запросы других серверов имен из удаленных административных регионов. Set Password и Help.1. поскольку ее немедленное выполнение невозможно. Revert. Сервер имен Oracle не только получает информацию от других серверов имен. . АО wait! :-Cache Qperations r Flush Foreign Region Dais .Trace File Рис.

t Control T'J- Г Authority Required Г" Default Forwarders onty Forwarding Desired ^ Forwarding Available !V Modify Requests Maximum Reforwards: 12 Revert В Set Password 1 Help Рис. Forwarding Available Разрешает серверу имен перенаправлять клиентские запросы к подходящему удаленному серверу имен Oracle. то клиент не сможет разрешать имена. Возможные значения — от 1 до 5. Default Forwarders Only Разрешает перенаправлять запросы только тем серверам имен Oracle. то вместо перенаправления клиента к подходящему серверу имен текущий сервер имен будет сам соединяться с удаленным сервером имен от лица клиента. Если этот режим выключен. Вкладка Adv. которые перечислены в списке ретрансляторов по умолчанию (default forwarders). раздела Manage Server Параметр Описание Authority Required Разрешает текущему серверу имен получать информацию с удаленного сервера имен Oracle. раздела Manage Server Таблица 8. 8. Если этот режим выключен. по умолчанию — 2.1. Параметры вкладки Adv. .7. Forwarding Desired Разрешает серверу имен передавать клиентам адреса удаленных серверов имен Oracle. а у клиента нет доступа к сети за пределами локального домена.240 Глава 8 g^Nete Configuration Local Manage Server oriitQr . Если этот режим выключен. модифицирующих данные в регионе текущего сервера имен Oracle. Modify Requests Запрещает выполнение любых операций. то текущий сервер имен не будет перенаправлять клиентский запрос серверу имен удаленного региона.. Maximum Reforwards Задает максимальное количество попыток перенаправления клиентского запроса к удаленному серверу имен Oracle.

Поскольку это действие уже выполнено. Эта вкладка предназначена для загрузки информации из файла tnsnames.8 показан начальный экран Manage Data с выбранной вкладкой Net Service Names. Результаты запроса показаны на рис. Topology (Топология) и Adv. рассмотрим действие Add. На каждой из них вам предлагается выполнить одно из действий. рассмотренных нами ранее. что и при настройке локального именования. что сначала необходимо указать правильное имя службы. Aliases (псевдонимы). Вкладка Net Service Names раздела Manage Data Вкладки раздела Manage Data отличаются от всех остальных вкладок. просмотрим загруженную информацию. 8. Ничего не вышло: получено сообщение об ошибке. 8. После выбора опции Add вид экрана изменится. Начнем с обзора вкладки Net Service Names.ora на сервер имен Oracle. Введем имя службы и повторим попытку. 9 Зак. в котором говорится. Рис.Nets Assistant — опции Oracle Names Servers 241 В разделе Manage Data собраны пять вкладок: Net Service Names (Имена сетевых служб). перечисленных в группе Action.9. Имена сетевых служб На рис. 8. На вкладке Net Service Names доступны следующие действия: Query (Запросить). Add (Добавить). выбрав пункт Query и нажав кнопку Execute. Теперь все в порядке. Успешно выполнив запрос. Remove (Удалить) и Load (Загрузить). и вам будет предложено ввести те же данные. 726 . (Дополнительно). Links (Связи).8.

US.9. 8." 'ServiceName: iKDLXYZCORP. Добавление имени сетевой службы. На рис. Результаты операции Query Набор требуемых параметров частично зависит от выбранного протокола. какую информацию нужно ввести для добавления имени сетевой службы.242 Глава 8 "Data • :• - . 8. (^58 Nets Configuration Local Profile Service Naming Listeners racle Names Servers L Рис. 8.CoS (ADDRESS = (PROTOCOL = TCP)(HOST = marlenes-pc)(PORT= 1 Рис.10. использующей протокол TCP/IP. использующей протокол TCP/IP .10 показано.

в этом поле вводится имя сетевой службы. после нажатия кнопки Execute. На рис. Конечно. рассматривались в главе 4 при обсуждении глобальных связей баз данных. На рис. 8. поэтому я не буду на них останавливаться.31 главы 7. выполняемые. имя службы базы данных или связь базы данных. а в поле Canonical Name — полное имя. SKDL. что такое каноническое имя. какая информация от нас ожидается.11. 8. Опция Remove предназначена для удаления имени сетевой службы. Обратимся к справке. определяющее местонахождение (например. которые устанавливаются на вкладке Links. Рис. которое было показано на рис. Вкладка Aliases раздела Manage Data Некоторое недоумение вызывает параметр Canonical Name (Каноническое имя). а опция Load позволяет загрузить файл tnsnames. который вы хотите использовать (например. но теперь мы хотя бы знаем. Add и Remove. 7.11 эта вкладка показана с выбранной опцией Add.XYZCORP.US. Связи баз данных Параметры. SKDL).Nets Assistant — опции Oracle Names Servers 243 Кнопка Advanced в нижней правой части вкладки открывает то же самое окно.12 эта вкладка показана с выбранной опцией Add. 8.COM).ora из выбранного каталога. как. справочный экран не объясняет. В поле Alias Name нужно ввести псевдоним.и прежде. . Псевдонимы На вкладке Aliases доступны действия Query. Оказывается.

Обратите внимание на кнопку DB Qualifiers в нижней части вкладки. что будет при выполнении многих запросов к одному и тому же удаленному региону. 8. перенаправляет запрос тому серверу имен. Клиентский запрос поступает на локальный сервер имен Oracle. которые смогут обслуживать свои административные регионы с большей эффективностью. содержащий требуемую информацию.13. Теперь при поступлении запроса локальный сервер имен сможет сразу найти удаленный сервер имен. о которых говорилось в главе 4. перенаправляет его корневому серверу имен своего региона. 8. вы создаете иерархию серверов имен. Она предназначена для добавления квалификаторов глобальной связи базы данных. Давайте ненадолго прервемся и посмотрим. Oracle Names Server Рис. Если у вас есть удаленный регион. позволяет делегировать домены или определять их указания. показанная на рис. указанном в запросе. который имеет информацию о домене. Согласитесь. принявший запрос. немалая работа! А теперь представьте. когда клиент запрашивает соединение с удаленным объектом в удаленном регионе. Сервер. Вкладка Links раздела Manage Data. Делегируя домены в регионе сервера имен Oracle. в свою очередь. к которому интенсивно обращаются локальные клиенты. который перенаправляет его любому из известных удаленных серверов имен. Оно содержит имя домена и адрес как минимум одного сервера имен Oracle из этого домена.244 Глава 8 _uration Local Profile [^Service Naming Listeners Query or update database link names with or without database Qualifiers. . то можно сконфигурировать указание домена (domain hint). Корневой сервер.12. какие действия выполняются по умолчанию в том случае. Топология Вкладка Topology.

i-inks . Они перечислены в таблице 8. Дополнительные действия Вкладка Adv. содержащие информацию о сетевых объектах.. 8.". в том числе адреса служб баз данных и имена сетевых служб • .13.SMD Сетевые адреса.OMD Квалификаторы связей -NS.SMD -CNAME. добавлять или удалять записи.: Topology I Ad Frame Service Naming Listeners Names Servers Modify the Oracle Names network topology by delegating domains or by providing domain hints Action -•• * Delegate Domain с Domain Hint Execui Name Server Name: Names Server Address Рис. Таблица 8.245 NetS Assistant — опции Oracle Names Servers &-^[Net8 Configuration «Data Aliases .OMD Строка соединения SQL*Net версии 1 _ .14. •• i ' • • • •• Псевдонимы любого сетевого объекта -DLRDBMS.SMD Серверы имен Oracle и их адреса -V1ADD.OMO Глобальные связи баз данных -DLCR.RDBMS.2. позволяет опрашивать.2. 8. Вкладка Topology раздела Manage Data Для вкладки Topology в нижней части экрана доступна единственная кнопка — Help. показанная на рис. Типы записей. указываемые на вкладке Ad v Тип записи Описание -A. В системе может существовать несколько различных типов записей.NPO.

Общие параметры Вкладка General раздела Configure Server. Domains (Домены). позволяет установить или изменить пароль сервера имен Oracle. Посмотрим. 8. раздела Manage Data Конфигурирование сервера Раздел Configure Server содержит пять вкладок: General (Общие параметры). Вкладка Adv. показанная на рис. Зачем нужно устанавливать пароль для сервера имен Oracle? Да просто затем. Само значение не показывается. чтобы никто не смог выполнить привилегированную операцию. Учтите также.14. как и прослушивающий процесс. Если вы устанавливали пароль ранее. 8.15. Вкладка Address позволяет назначать или изменять эти порты. показанная на рис. прослушивает один или несколько назначенных ему портов. Поскольку в данном случае сервер имен создан именно таким образом. вкладка Address. уже содержит адресную информацию. Address (Адрес). запуск или останов сервера. 8. ожидая клиентских запросов.246 Глава 8 Рис. что предлагает каждая из них. Если для создания сервера имен Oracle использовался мастер имен. то при выборе этой вкладки будет показан введенный ранее адрес. Адреса Сервер имен Oracle. что пароль шифруется. (Дополнительно). например. . воспользовавшись инструментом Net8 Assistant или утилитой Names Control (namesctl). Database (База данных) и Adv. то здесь будет отражен лишь факт его наличия.16.

8. Все изменения в адресной информации отражаются в расположенном ниже окне. удалять (Remove) или изменять (Change). 8.15. набор отображаемых или запрашиваемых параметров зависит от выбранного протокола. В самом низу экрана находится кнопка Help. Значения параметров можно добавлять (Add). Рис. Вкладка Address раздела Configure Server .Nets Assistant — опции Oracle Names Servers 247 Рис. Вкладка General раздела Configure Server Как и на других вкладках. требующих указания протокола.16.

17 показана вкладка Domains с информацией. входящих в локальный административный регион сервера имен Oracle.248 Глава 8 Домены Вкладка Domains используется для изменения информации о доменах. В файле конфигурации этот параметр выражается в секундах. Изменение возможно только в том случае. часы и минуты. если домен не принадлежит к корневому региону. в течение какого времени данный сервер будет считать достоверной информацию. несмотря на то что вам предлагается ввести дни. полученную из указанного домена. . поэтому. На рис. третьего и последующих значений нужно просто ввести интервал времени и щелкнуть на кнопке Add. Вкладка Domains раздела Configure Server Вам нужно ввести имя домена. 8. а потом — на кнопке Remove. в списке введенных значений будут указаны только секунды. Чтобы изменить показанное в списке значение. Domain Name: j Minimum TIL. относящейся к текущему серверу имен Oracle. 1 • Davs fo Hours in Minutes id Seconds Рис. а затем ввести любой другой интервал времени и щелкнуть на кнопке Change. В нижней части экрана присутствует кнопка Help. нужно щелкнуть на нем.17. 8. нужно щелкнуть сначала на нем. Значение по умолчанию — 1 день. Чтобы полностью удалить показанное значение. и указать значение этого параметра. а также второго. для которого предстоит изменить параметр Minimum TTL. Для добавления начального. Параметр Minimum TTL сообщает другим серверам имен Oracle.

обходом ошибок соединения и балансировкой нагрузки на уровне клиента. 8. 8. После щелчка на ней появится еще одна вкладка Address и активизируются три другие кнопки.18. Вкладка Database позволяет указать способ и место хранения информации конфигурируемого сервера. в противном случае вам придется ввести ее самостоятельно. Если вы использовали для создания сервера мастер имен. S?Nel8 Assistant . . а также для изменения последовательности адресов (< и >).249 Nets Assistant — опции Oracle Names Servers База данных В главе 4 мы говорили о том. либо в региональной базе данных. Как видно из рис. При выборе опции Region Database потребуется указать местонахождение базы данных. JORCL Connection Type 5 Database Default Рис. Вкладка Database раздела Configure Server Если выбрать опцию No Region Database. в котором можно определить правила управления маршрутизацией от источника.18. то адресная информация (протокол с соответствующими параметрами) уже будет указана. то информация об именах будет непрерывно тиражироваться между серверами имен Oracle. решено хранить информацию сервера имен в региональной базе данных. что информация сервера имен Oracle может храниться либо в его собственном локальном кэше. Первоначально активна только кнопка добавления. Кнопка Advanced открывает окно Address List Options (Опции списка адресов).D:\OiacleVOia81\NETWaRK\AOMIN4 8 Server "Database" Щ " No Region Database * Region Database ^-Database Address 1 SID: . В центре вкладки находятся кнопки для добавления (+) и удаления (X) адреса.

Флажок Use OracleSi Release 8. Здесь можно ввести дополнительную информацию. Advanced Service Options Additional Service Settings Instance Name: Session Data Unit: Г" Use for Heterogeneous Services . должна ли использоваться служба неоднородности (heterogeneous services). Здесь же вы можете указать параметры базы данных Oracle Rdb. можно указать. Дополнительные настройки службы В раскрывающемся списке Connection Type (Тип соединения).1. который используется в базе данных по умолчанию. 8. используемые для соединения с репозиторием сервера имен Oracle. и указать. укажите имя службы. как следует устанавливать соединения по данному адресу: через выделенный сервер. требуемую для взаимодействия с базами данных других производителей.ОК] Cancel ''Jllf -inff ' U—-1-UlrLIJ-L-TIII Ul- Рис. 8. Она открывает отдельное окно.19. совместимый с версией 8. в котором можно задать параметры регенерации: • Refresh from Database: период регенерации региональной базы данных . многопоточный сервер или тем способом. Расположенная рядом кнопка Advanced открывает окно Advanced Service Options (Дополнительные настройки службы).250 Глава 8 Если конфигурируемый сервер имен Oracle должен соединяться с базой данных версии 8.19.Oracle Rdb Settings -• Rdb Database: Г Type of Service: Global Database Name: Help) . показанном на рис.0. введите системный идентификатор (SID). показанное на рис. Обратите внимание на кнопку Optional рядом с полями Username и Password. 8. Если используется более старая версия Oracle. На этом экране также задаются имя пользователя и пароль.0 Compatible Identification устанавливает режим идентификации. В этом случае вы должны ввести значение SID.18.

Этот файл используется при перезапуске сервера имен Oracle после непредвиденного останова. Файл контрольной точки кэша используется для хранения кэшированных имен и адресов как из локального административного региона. Файл контрольной точки региона представляет собой локальную копию информации административного региона. что хранится в файле names. Кроме того. Вкладка Adv. О каталогах и именах файлов журналов и трассировки мы уже неоднократно говорили. Файл контрольной точки конфигурации содержит информацию о конфигурации. аналогичную той.ora. по истечении которого будут прекращены попытки установить соединение с базой данных Дополнительные параметры Сервер имен Oracle использует три файла контрольных точек: файл контрольной точки кэша (cache checkpoint file). файл контрольной точки конфигурации (config checkpoint file) и файл контрольной точки региона (region checkpoint file). Вкладка Adv. (рис. вы можете указать каталог и имя для файла журнала и файла трассировки. раздела Configure Server В системе UNIX все файлы контрольных точек по умолчанию размещаются в каталоге $ORACLE_HOME/network/names. поэтому остановимся только на опции Make Trace File . а в системе Windows NT — в каталоге ORACLE_HOME\network\names. 8. Cache Checkpoint File: i Config Checkpoint File: Region Checkpoint File Рис. 8. так и из удаленных регионов.Nets Assistant — опции Oracle Names Servers 251 • Retry Interval: длительность ожидания отклика базы данных • Retry Expiration: интервал.20.20) позволяет указать местонахождение всех этих файлов.

252 Глава 8 Unique (Обеспечить уникальность файлов трассировки). как Max Open Connections (максимальное число открытых соединений. Message Pool Start Size (начальный размер пула сообщений. Используйте эту опцию в том случае. Auto Refresh Expiration Period (период автоматической регенерации. то имя каждого файла трассировки будет дополняться идентификатором процесса. если вам требуется отслеживать различия между файлами. что позволяет хранить несколько файлов. по умолчанию — 10). Кнопка Miscellaneous (Различные настройки) позволяет задать такие параметры. по умолчанию — 3 минуты). В нижней части экрана находится традиционная кнопка Help. по умолчанию — 3 дня) и Auto Refresh Retry Interval (интервал между попытками регенерации. по умолчанию — 10). • . Если установить этот флажок.

Nets Configuration Assistant .

а затем будут следовать ссылки на соответствующий рисунок. В главе 7 говорилось о том. наливаю горячей воды и предварительно замачиваю тарелки в получившемся растворе. • Обзор Nets Configuration Assistant Помните. поскольку оно вынесено в отдельную процедуру. Сейчас я намерена показать. и вы могли переходить к любой из них. позволяющими решать одни и те же задачи разными способами. каким образом можно выполнять те же самые задачи с помощью NetS Configuration Assistant. что прослушивающий процесс должен использовать протокол TCP/IP. Но если вы укажете в качестве протокола SPX. Мой муж. Взаимодействие с NetS Configuration Assistant происходит иначе. то увидите приглашение на ввод стандартного имени службы SPX. чтобы запускать посудомоечную машину. на примерах конкретных экранов мастеров. если вы запустите мастер конфигурирования прослушивающего процесса и укажете. С целью экономии места здесь не приводятся те экраны. Потом он загружает их в посудомоечную машину и моет еще раз. которые можно легко описать словами. открывает горячую воду. методов именования и локальных имен сетевых служб. напротив. он будет показан только один раз. Если какой-либо экран (или набор экранов) начнет повторяться в разных процедурах конфигурирования. что тарелок не настолько много. сначала складывает грязные тарелки в раковину. Вид следующего экрана часто зависит от введенной информации. когда я мою посуду. то сначала вставляю пробку в сливное отверстие раковины. как мы первый раз вызывали NetS Assistant в главе 7? После активизации инструмента все опции отображались на одном экране. вытираю насухо и убираю в шкаф. то вам будет предложено ввести номер порта. Моя мама сразу кладет всю грязную посуду в машину. выдавливаю в раковину немного моющего средства. что люди часто решают одну и ту же задачу разными способами? Например. выдавливает моющее средство на губку и моет каждую тарелку в отдельности. Более подробно о различных опциях будет рассказано ниже. Некоторые из действий. как использовать NetS Assistant для конфигурирования прослушивающего процесса. Корпорация Oracle снабжает нас инструментами.254 Глава 9 /ы замечали. В Net8 Configuration Assistant это конфигурирование можно выполнить значительно проще. Мне всегда кажется. используя панель навигатора. . Например. включали в себя конфигурирование доступа к службе каталога. Этот инструмент рассчитан только на использование мастеров. Потом я их мою. отображая экраны с приглашениями на ввод требуемой информации. После выбора нужной опции мастер будет вести вас через процесс конфигурирования. рассмотренных нами в главах по NetS Assistant.

удаление или модификация следующих методов: локальное именование (LOCAL). чтобы вы могли выбрать только одну опцию. модификация или переименование прослушивающего процесса. служба каталога Novell (NDS). служба имен Oracle (ONAMES). Переключатели используются для того.1 показан начальный экран NetS Configuration Assistant. Создание.1. . Ha нем приведен список опций.ora с возможностью тестирования соединений.ora. Начальный экран NetS Configuration Assistant На рис. перед каждой из которых расположен переключатель. сетевая информационная служба (Sun NIS) или сотовая служба каталога (ВСЕ CDS) — на сервере и.255 NetS Configuration Assistant Welcome lo the Nets Configuration Assistant. именование по хосту (HOST). именование по каталогу (LDAP).Listener configuration (Конфигурирование прослушивающего процесса). • Local Net Service Name configuration (Конфигурирование локальных имен сетевых служб). удаление и модификация локальных имен сетевых служб в файле tnsnames. • Directory Service Access configuration (Конфигурирование доступа к службе каталога). • Naming Methods configuration (Конфигурирование методов именования). Вам доступны следующие четыре опции: ••. Создание. 9. Создание. если требуется. в клиентском файле tnsnames. реализованной на основе усовершенствованных средств безопасности Oracle (Oracle Advanced Security). 9. Создание структуры LDAP-совместимого сервера каталога для поддержки именования по каталогу с использованием централизованно администрируемых идентификаторов соединений или для поддержки корпоративной системы безопасности. This tool takes you through the following common configuration steps: Choose the configuration you would like to do: * Listener configuration : <~ Naming Methods configuration (~ Local Net Service Name configuration (~ Directory Service Access configuration Cancel Help Back Рис.

For remote connections to be made to your Oracle database.2. модифицировать. вы увидите экран конфигурирования прослушивающего процесса.4. Экран выбора протокола показан на рис. 9.256 Глава 9 Как и при описании Net8 Assistant. Cancel Help <~ Rename Back Рис.3. Начнем с добавления прослушивающего процесса (опция Add).you must configure a Nete listener. с какими экранами предстоит работать при выполнении каждого из перечисленных здесь действий и какая информация ожидается от вас на каждом шаге. Корпорация Oracle рекомендует использовать только необходимые протоколы. какой протокол был указан на предыдущем шаге. мы будем последовательно выбирать эти опции и рассматривать все возможные варианты действий. Вид следующего экрана зависит от того. чтобы максимально упростить конфигурацию. удалять или переименовывать прослушивающие процессы. 9. показанный на рис. показанном на рис. Поскольку выбран TCP/IP. Здесь выбран TCP/IP. После ввода имени вам предлагается выбрать один или несколько протоколов. у вас есть возможность добавлять. Select what you want to do: . Давайте посмотрим. Конфигурирование прослушивающего процесса Как уже отмечалось. The Nets Configuration Assistant allows you to add. Оно запрашивается на первом экране. modify. 9. rename or delete a listener.2. 9. Выбрав на начальном экране опцию Listener configuration. но с тем же успехом можно было выбрать любой другой (или все) из перечисленных протоколов. Я выбрала для нашего прослушивающего процесса имя LIST1.*Add <" Modify г Delete . у нас запрашивается номер . Выбор действия по конфигурированию прослушивающего процесса Добавление прослушивающего процесса При создании нового прослушивающего процесса логично с самого начала знать его имя.

9. Select which protocols you want to configure fbrthis listener. 9. как показано на рис. . Listener Name For remote connections to be made to your Oracle database you must have at least one Nets listener. Select Protocols You can configure the listener to accept connections over one or more protocols. ' Available Protocols TOPS IPC NMP SPX Selected Protocols i ITCP Рис. поэтому изменим номер на 1526.5. Выбор протоколов прослушивающего процесса порта. Enter the name of the listener you want to create: Listener name: JLIST1| Cancel j Help ) Рис. Можно использовать стандартный порт 1521 или ввести другой номер.4.З. Порт 1521 уже занят текущим прослушивающим процессом со стандартным именем LISTENER. 9. Ввод имени нового прослушивающего процесса Netti Configuration Assistant: Listener Configuration.257 Nets Configuration Assistant Neltl Configuration Assistant: Listener Configuration. Keep your configuration as simple as possible byconflguring onlythe protocols you heed.

1. указано значение по умолчанию.6). можно запустить любой из двух прослушивающих процессов: стандартный (LISTENER) или только что созданный (LIST1). Кнопка Next возвращает к начальному экрану Net8 Configuration Assistant. 9. Протоколы прослушивающего процесса Протокол ! Требуемые параметры TCP/IP Номер порта (по умолчанию —1521) IPC Значение ключа IPC для базы данных. Как видно из рис. какие параметры необходимо задавать при выборе других протоколов.7. TCP/IP Protocol Which TCP/IP port number should the listener use? The port number selected should not be used by any other software on this computer. . После ввода значения параметра вам будет предоставлена возможность сконфигурировать другой прослушивающий процесс (рис. После запуска выбранного прослушивающего процесса появляется заключительный экран с сообщением "Listener configuration complete!" ("Конфигурирование прослушивающего процесса завершено!"). 9. Где возможно. Список протоколов и соответствующих им параметров приведен в таблице 9. 9. Настройка протокола TCP/IP Теперь вернемся назад и посмотрим. После ответа No на вопрос о конфигурировании другого прослушивающего процесса предлагается выбрать процесс для запуска.258 Глава 9 Nel8 Configuration Assistant: Lislenei Configuration.1.5. :r Use the standard port number of 1521 * Use another port number: •Help I |1526 §acl< Рис. к которой предстоит обращаться TCP/IP with SSL Номер порта (по умолчанию . Таблица 9.2484) NMP Стандартное имя канала (по умолчанию — ORAPIPE) SPX Стандартное имя службы SPX (по умолчанию — имя хоста с добавлением Jsnr).

Запрос на конфигурирование другого прослушивающего процесса select a listener you want to Stan 1Ш! LIST1 Рис.259 Nets Configuration Assistant Net» Configuration Assistant: Listener Configuration.6. 9. 9. Выбор прослушивающего процесса для запуска .7. More Listeners? Would you 1!кв to configure another listener? * No г Yes : Cancel ) Help gack I jpxT j>") Рис.

9. Как и следовало ожидать.5. 9. 9. используемый другим прослушивающим процессом.8. по умолчанию выбран TCP.4.6. Как и прежде. вы вернетесь к . Решив не продолжать. После изменения номера порта с 1521 на 1525. которое показано на рис. При перемещении по экранам Modify вы должны помнить исходные настройки. чтобы изменения имели смысл. 9. появляется экран с предложением сконфигурировать другой прослушивающий процесс. Выбор прослушивающего процесса для модификации После указания прослушивающего процесса появляется экран выбора протокола. Если вы случайно укажете порт. не показан.260 Глава 9 Модификация прослушивающего процесса Следующее действие. на первом экране предлагается выбрать имя модифицируемого прослушивающего процесса. Текущий протокол модифицируемого прослушивающего процесса здесь не показывается. 9. В соответствии с нашим планом выберем новый прослушивающий процесс LIST1. то получите предупреждение. с тем же самым портом 1521. Экран выбора прослушивающего процесса показан на рис.8. которое мы рассмотрим. alion Assistant Listenei Configuration^ Select Listenei Select a listener v i modify lusn Cancel Help Back г Next Рис. Текущий порт прослушивающего процесса LIST1. подобное тому. выбранный при его создании. 9. или начнете модифицировать выполняющийся процесс. поэтому просто щелкнем на кнопке Next для перехода к следующему экрану. вместе с вопросом о продолжении или отмене конфигурирования. как и было задумано.— это Modify (Модифицировать). выбранным по умолчанию. 9. Сейчас нам не нужно добавлять или удалять протоколы. Теперь мы видим тот же экран. Наша задача будет заключаться в изменении номера порта для прослушивающего процесса LIST1 с 1526 на 1525 — просто для примера. показанный на рис. что и на рис. Этот экран был показан на рис.

9. В противном случае изменения будут выполнены. имя LIST1 уже изменено на LIST2. показанное на рис. вы увидите сообщение о завершении конфигурирования. а следующий щелчок на Next вернет вас к начальному экрану NetS Configuration Assistant. предварительно его остановив. 9. Нам предстоит изменить имя LIST1 на LIST2. Единственное отличие состоит в том.10.9. После выбора процесса LIST1 будет выдано приглашение на изменение имени. либо изменить порт у другого прослушивающего процесса. утилита Listener Control будет показывать старое имя. чтобы продолжить работу с нашим новым прослушивающим процессом и не трогать работающий процесс LISTENER. Переименование прослушивающего процесса Хотя после опции Modify на экране конфигурирования прослушивающего процесса показана опция Delete (Удалить).261 NetS Configuration Assistant экрану выбора протокола. Для возврата к начальном экрану NetS Configuration Assistant нужно щелкнуть на кнопке Next. Если указанный порт используется другим прослушивающим процессом. Учтите. что два прослушивающих процесса не могут одновременно прослушивать один и тот же порт. Дело в том. Как видите. что инструкция "Select a listener you want to modify" ("Выберите прослушивающий процесс. к какой путанице это могло бы привести! ЕГ2 Net8 Configuration Assistant The information provided for the tcp protocol is currently In use by another listener. Would you like to continue with the configuration anyway? Рис. Еще раз щелкнув на кнопке Next. . but it will not be possible to start this llsteneruntil the conflict is resolved. рассмотрим сначала опцию Rename. который нужно модифицировать") заменена на инструкцию "Select a listener you want to rename" ("Выберите прослушивающий процесс.8. что пока вы не остановите и не перезапустите прослушивающий процесс. You can proceed with the configuration as it is. 9. После выбора опции Rename (Переименовать) появится экран выбора прослушивающего процесса. После щелчка на кнопке Next появится подтверждающий экран с сообщением "Listener was renamed to LIST2" ("Прослушивающий процесс был переименован в LIST2"). но не вступят в силу до останова и перезапуска прослушивающего процесса. который нужно переименовать"). следует либо выбрать другой порт. Окно с предупреждающим сообщением После завершения конфигурирования появляется экран с уведомляющим сообщением. аналогичный показанному на рис. Только представьте.

9. который сейчас называется LIST2. Подтверждение удаления прослушивающего процесса Мой технический рецензент Ян Фиклинг сделал следующее замечание. Как и следовало ожидать. 9.10. он остается в списке служб. 9. Когда вы удаляете прослушивающий процесс в Windows NT.11). Rename Listener Please. enter a new listener name for LIST! Listener name: Cancel Help Back [Jext Рис. то окно служб NT показывает. Если удалять запущенный прослушивающий процесс. который нужно удалить") и раскрывающимся списком.262 Глава 9 NelB Configuration AssisMnl: Litlenei Configuration. Мы удалим тот процесс.— это удалить прослушивающий процесс. после выбора опции Delete (Удалить) появляется экран выбора прослушивающего процесса с указанием "Select a listener you want to delete" ("Выберите прослушивающий процесс. Сразу после выбора имени будет запрошено подтверждение на удаление прослушивающего процесса LIST2 (рис. что можно сделать на экране конфигурирования прослушивающего процесса. содержащим имена LISTENER и LIST2.11. К? NfitB Configuration Assistant Are you sure you want to delete listener LIST2? Рис. Переименование прослушивающего процесса Удаление прослушивающего процесса Последнее. что служба все еще функционирует. .

В таблице 9. В пояснительном тексте говорится. Открыть Net8 Assistant и выбрать прослушивающий процесс. либо воспользовавшись раскрывающимся меню Edit. последующий щелчок на кнопке Next приведет к выводу сообщения "Listener configuration complete!". 2.2 перечислены доступные методы именования с требуемыми параметрами или комментариями.12. каким образом сетевые компоненты Oracle должны разрешать имена сетевых служб в информацию. Конфигурирование методов именования Значительная часть работы по конфигурированию Net8 состоит в определении того. необходимо сделать следующее: 1. Остановить соответствующую службу NT. вы увидите экран. Внимание После выбора и первоначального конфигурирования методов именования изменение их параметров возможно только через Nets Assistant. что рекомендуемые методы именования были предварительно выбраны за вас. а заключительный щелчок на кнопке Next вернет вас к начальному экрану Net8 Configuration Assistant. вы должны подтвердить свое решение об удалении прослушивающего процесса. 3. 4. а затем на кнопке Stop. Перед тем как будут выполнены какие-либо другие действия. щелкнув на кнопке "Yes". После этого появится экран с сообщением "Listener LIST2 was deleted" ("Прослушивающий процесс LIST2 удален"). . Теперь можно без проблем добавлять новый прослушивающий процесс с тем же именем. Как и при использовании мастеров модификации и переименования. который предстоит удалить. 9. список выбранных методов пуст. С помощью regedit удалить следующий ключ реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \<имя_службы_Огас!е>.Nets Configuration Assistant 263 Чтобы убрать все следы прослушивающего процесса в Windows NT. как видно по снимку экрана. которые дает NetS Configuration Assistant. но. либо щелкнув на большой красной букве X в правом верхнем углу окна. необходимую для соединения с базами данных Oracle или другими службами. которое было присвоено ранее удаленному. Выбрав опцию Naming Methods Configuration на начальном экране Net8 Configuration Assistant. выбрав Start >• Settings >• Control Panel >~ Services и щелкнув на нужном имени. В предыдущих главах мы рассмотрели несколько различных подходов к организации именования. показанный на рис. Выбрать опцию Delete.

Select Naming Methods When connecting to a remote database or other service you specify a net service name. Recommended naming methods have been preselected for you. используемый для разрешения имен служб. используемое при разрешении имен сетевых служб После выбора одного или нескольких методов именования и ввода необходимых параметров вы увидите экран с сообщением "Naming Methods configuration complete!" ("Конфигурирование методов именования завершено!"). содержащего метаотображения имен служб баз данных Сотовая служба каталога среды распределенных вычислений (DCE CDS) Сотовое имя. в форме <имя_службы_или_базы_данных>. This name is resolved using one or more naming methods into the information necessary to locate and connecttothe database orservice. . AvailableNarnincj Metho. Select the naming methods you want to use for resolving net service names and the order in which you want them used. Выбор методов именования Таблица 9.12. Еще один щелчок на кнопке Next вернет вас к начальному экрану Net8 Configuration Assistant. Keep your configuration as simple as possible by configuring only the naming methods you need..<е1с> Сетевая информационная служба Sun (NIS) Имя специального файла. 9.2.<домен> или сп=<имя_службы>.ои=<домен. Методы именования с требуемыми параметрами или комментариями Метод именования Параметры или комментарий Локальные имена (Local) Дополнительные параметры не требуются Служба имен Oracle (Oracle Names) Дополнительные параметры не требуются Имя хоста (Host Name) Для каждой добавляемой службы базы данных необходимо создавать отдельную запись в системе разрешения имен хостов TCP/IP Служба каталога Novell (NDS) Контекст имен NDS. Selected Naming Methods Local Oracle Names Host Name nc Cancel I Back j Help Next' §> J Рис.264 Глава 9 Net8 Confiquialion Assistant: Naming Methods Configuration.

После щелчка на кнопке Next вам будет предложено ввести имя базы данных или службы OracleSi.13.13. показанный на рис. 9. . Rename и Test. Tfie Nets Configuration Assistant allows you to work with net service names resolved using local naming. Добавление имени сетевой службы После выбора опции Add у вас будет запрошена версия базы данных. Modify. Как показано на рис.£ Back I Next Рис. Как мы видели в главе 7. Delete.265 Nef8 Configuration Assistant Если вы работали с предыдущими версиями NetS. 9. Хотя вы уже рассматривали соответствующие экраны в главе 7. С Delete f" Rename rtest . . что это значение обычно представляет собой глобальное имя базы данных. Каждая из этих операций приводила к изменению файла tnsnames. удалять и тестировать имена сетевых служб. Давайте подробно рассмотрим каждое из них. то знаете о таком инструменте. как Net8 Easy Config. NetS Easy Config теперь входит в состав NetS Assistant.15 введено глобальное имя базы данных SKWL. по умолчанию выбирается база данных или служба OracleSi.. 9. к доступным действиям относятся Add. or other service. Selectwhatyouwantto do: • Add <~ Modify • . На рис. 9.ora на той машине. для полноты картины обратимся к ним еще раз. В пояснительном тексте говорится. 9..13. который позволял создавать. вы увидите начальный экран конфигурирования имени сетевой службы. Начальный экран конфигурирования имени сетевой службы Как видно из рис. Выбрав опцию Local Net Service Name configuration на начальном экране Net8 Configuration Assistant. с которой предстоит соединяться.14. Одновременно с этим он входит в состав NetS Configuration Assistant. NetS Configuration Assistant Net Seivice Name Configuration To access art Oracle database. модифицировать. Для вызова Easy Config предназначался отдельный пункт в меню Start >• Programs >• Oracle Networking. across the network you use a net service name. где вы работали.

Cancel j Help Рис.15.— это SPX.16 показаны четыре из пяти доступных вариантов.0 or Oracle? database or service Рис.266 Глава 9 ihl'ITTllll'lirill'liriTHnrill What version of Oracle database or service do you want to access? • OracleSi database or service r OracleS release 8. 9. Выбор версии базы данных Netit Lonriguialiori Assistant: Net Seivice Name Configuration. a network protocol is used. 9. Selecl Pmtorols To communicate with the database across a network.14. Единственный протокол. 9. На рис. . который будет использоваться для соединений с данной службой. Ввод имени службы На следующем экране нужно выбрать сетевой протокол. Select the protocol used for the database you want to access. который там не виден.

16 был выбран протокол TCP/IP. 9. 9. какие параметры потребуется вводить в зависимости от выбранного протокола. Соответствующий экран показан на рис. номер порта (по умолчанию — 2484) IPC Значение ключа IPC NMP Имя компьютера (по умолчанию — имя текущей машины) SPX Имя службы SPX (по умолчанию — <имя_текущей_машины>_1зпг) Поскольку на рис. на котором находится база данных. . Как следует из рис. Select tog protocol used for the database you wantto access.16. по умолчанию тест не выполняется. После ввода всей требуемой информации о сетевой службе вам будет предложено протестировать соединение.3. на следующем шаге запрашивается имя хоста. a network protocol Is used. Параметры протоколов сетевой службы Протокол Параметры TCP Имя хоста. который будет принимать запросы на соединение. 9.18.3 показано. Таблица 9.267- NetS Configuration Assistant Netlt Configuration Assistant: Net Service Name Configuration.17. Select Protocols To communicate with tha database across a network. и номер порта прослушивающего процесса. TOPS IPC NMP Cancel j Help Рис. В данном случае указано имя машины (MARLENES-PC) и порт прослушивающего процесса (1521). 9. Выбор протокола сетевой службы В таблице 9. номер порта (по умолчанию —1521) TCPS Имя хоста.

АТСРЛР port number is also required. то появится экран с информацией о тесте и его результатах. В случае продолжения у вас будет запрошено имя сетевой службы (рис. * Use the standard port number of 1521. По умолчанию это имя совпадает с введенным ранее именем службы базы данных. I •4 Help Back I tie Рис. Ввод информации для протокола TCP/IP You can verify that an Oracle database can be reached. Запрос на тестирование соединения Если вы решите протестировать сетевую службу. the database computer's host name is required. 9. HostName JMARLENES-PC . При неудачном завершении теста можно либо вернуться назад с помощью кнопки Back. TCP/IP Protocol To communicate with the database using the TCP/IP protocol. perform a tsst Cancel j H jlp j ^ BackJ Next D I Рис. In most cases the standard port number should be used. либо продолжить конфигурирование.17. нажав кнопку Next.18. 9. ' Would you like to test that a connection can be made to the database? * No. using the information provided. by performing a connection test. чтобы внести исправления. 9. <~ Use another port number: (1531 Cancel. do not test <~ Yes. .19).268 Глава 9 Met8 Configuiation Assistant: Net Service Name Configuration. Ehterthe host name for the computer where the database is located.

9. После ввода нужного имени службы потребуется выбрать протокол и задать его параметры. нужно ли конфигурировать другое имя сетевой службы. Далее будут заданы вопросы о тестировании службы и конфигурировании Другого имени. Этот экран был показан на рис. На следующем экране запрашивается версия базы данных или службы. После этого вы сможете вернуться к начальному экрану Net8 Configuration Assistant. а в заключение появится экран с сообщением о завершении конфигурирования. текущие значения не отображаются. Щелчок на кнопке Next вернет вас к начальному экрану Net8 Configuration Assistant. 9. то появится заключительный экран с сообщением "Net service name Configuration Complete!" ("Конфигурирование имени сетевой службы завершено!").269 Nets Configuration Assistant Nets ConKguiation Assistant: Net Service Name Configuiation. На рис. but you can change it to be any name you choose.15). к которой предстоит обращаться. The Nets Configuration Assistant has defaulted the net service name to be the same as the service name you entered earlier. Затем вам будет предложено выбрать имя службы. (рис.20 показано. что вам потребуется сделать после выбора опции Modify на начальном экране конфигурирования имени сетевой службы. которое предстоит изменить. Модификация имени сетевой службы Первое. чтобы вносить корректные изменения. Ввод имени сетевой службы На следующем экране спрашивается. Если выбрать ответ No. Решено модифицировать имя SKWL. 9. 9. Net Service Name: Рис.14. Net Seivice Name Choose a name for this net service name. .— это выбрать имя. Как и при модификации прослушивающего процесса.19. В данном случае введено имя базы данных SKWL вместо использовавшегося ранее SKDL. поэтому вам нужно их помнить. какие имена доступны в данной конфигурации.

Я выбрала SKDL. После ввода нового имени и щелчка на кнопке Next появится экран с сообщением "The net service name was renamed to SKDL" ("Имя сетевой службы было изменено на SKDL"). для выполнения теста необходимо.21. Select Net Seivice Name Select a net service name you want to moflliy: • EXTPROC_CONNECTION_DATA 'SKWL Рис. с которой предстоит соединиться. Если служба или база данных не имеет такой учетной записи. . Тестирование имени сетевой службы При выборе опции Test в первую очередь запрашивается имя сетевой службы. На рис. чтобы показать. как показано на рис. рассмотрим опцию Rename раньше. которое нужно изменить. Переименуем службу SKWL обратно в SKDL — только для того. была запущена и доступна. которую нужно протестировать. При выборе опции Rename вам будет предложено ввести имя сетевой службы. чтобы служба или база данных. как это делается.22 показано. вы можете изменить имя пользователя и пароль. как будет выглядеть экран после успешного завершения теста. После выбора текущего имени сетевой службы у вас будет запрошено новое имя. 9. 9. подлежащего модификации Переименование имени сетевой службы Как и при конфигурировании прослушивающего процесса.20. чем Delete. щелкнув на кнопке Change Login. Разумеется..270 Глава 9 Nol8 Confraufation Assistant Net Seivico Name Configuration. Выбор имени сетевой службы. Следующий щелчок на кнопке Next приведет к выдаче сообщения о завершении конфигурирования. после чего вы сможете вернуться к начальному экрану Net8 Configuration Assistant. 9. На этом рисунке изменения еще не были внесены. По умолчанию для тестирования соединений используется учетная запись SCOTT с паролем TIGER. чтобы продолжить работу с уже сконфигурированным именем.

Test successful.21. 9. Net Service Name Configuration.. (SKWL Cancel I Help ) 4 Back | Nfft $•) Рис. Тестирование соединения с базой данных Next . Change Login Cancel I Help ч{ ВасК Рис. Connecting Walt while the Nets Configuration Assistant tries to connect to the database using the Information you provided. ' Net Service Name..271 NetS Configuration Assistant NelM Configuration Assistant. Rename Net Seivice Name Please. 9. enter a new net service name for SKWL.. Переименование сетевой службы Как и при выполнении других действий. Details: Connecting..... . Net» Configuration Assistant: Net Service Name Configuration.22. после щелчка на кнопке Next появится экран с сообщением о завершении конфигурирования.

23. После щелчка на кнопке Yes вы увидите экран с сообщением "The net service name <имя_сетевой_службы> was deleted" ("Имя сетевой службы <имя_сетевой_службы> удалено"). Щелчок на кнопке Next вернет вас к начальному экрану Net8 Configuration Assistant. Конфигурирование доступа к службе каталога В главе 5 мы рассматривали упрощенный протокол доступа к каталогу (LDAP). используемый в Интернет-каталоге Oracle.23. В этом разделе рассмотрим опции Net8 Configuration Assistant. Обратите внимание. Затем вам предлагается подтвердить удаление выбранного имени. как всегда. 9.272 Глава 9 Удаление имени сетевой службы Последняя операция — Delete — также начинается с выбора имени сетевой службы. В завершение. После выбора опции Directory Service Access configuration на начальном экране NetS Configuration Assistant вы увидите экран.Create a new Oracle Cbntext Cancel I Help Рис. предназначенные для конфигурирования доступа к службам каталога. появится экран с сообщением о завершении конфигурирования. Начальный экран конфигурирования доступа к службе каталога . что две опции первоначально недоступны. показанный на рис. * Perform directory access configuration for a client £*" Perform directory access configuration for a server <"" Change the default administrative context f Create or Update Oracle Schema f. complete. Соответствующий экран содержит вопрос "Are you sure you want to delete net service name <имя_сетевой_службы>?" ("Вы действительно хотите удалить имя сетевой службы <имя_сетевой_службы>?") и кнопки Yes и No. 9. Net8 Configuration Assistant: Oiiecloiy Service Access Choose the directory service operation you want to .

После выбора этой опции вам будет предложено указать тип каталога. На рис. 9. служба каталога Novell или Microsoft Active Directory. что и для Интернет-каталога Oracle. несмотря на ее присутствие в списке. Net8 Configuration Assistant: Directory Access. Select the directory service type. 9. На рис. Для службы каталога Novell предлагается вводить те же параметры. Release 2. В первой версии OracleSi. После ввода значений параметров и щелчка на кнопке Next будет предпринята попытка установить соединение с каталогом.273 Nets Configuration Assistant Конфигурирование доступа к каталогу для клиента Первая опция на начальном экране конфигурирования доступа к каталогу (Perform directory access configuration for a client) позволяет разрешить клиенту поиск записей в каталоге. эта служба не поддерживается в первой версии OracleSi. Если это окажется невозможным. показанное на рис.25 показан следующий экран. Directory Type To assist with directory service access conflagration the Nets Configuration Assistant needs to know the type of directory service you use. определяющую записи и атрибуты каталога. 726 . что для успешного конфигурирования клиентского доступа вы должны предварительно установить схему Oracle. порт TCP (Port) и порт SSL (Port SSL). как было сказано выше. но не их модификацию или добавление. К ним относятся Интернет-каталог Oracle. Выбор типа каталога В этом примере выбран Интернет-каталог Oracle. где запрашиваются имя хоста (Hostname). 9. Directory Type: i : Novell Directory Service . По умолчанию для параметра Port выбрано значение 389. Release 2 служба каталога Novell не поддерживается. 10 Зак. а для параметра SSL Port — значение 636. Для Microsoft Active Directoty требуется указать только имя хоста. Microsoft Active Directory Cancel Help Back Рис.24 показан экран со списком возможных типов каталога.24.26. Необходимо заметить. 9. хотя. вы увидите сообщение об ошибке.

Directory Location Where is your directory service located? Hostname: |MARLENES-PC Port: SSL Port: ' J389 636 Back | rjaxl 3>) Рис.25. 9. Рис. 9. 9. модификации и поиска записей. как было показано на рис.25. После установления соединения потребуется указать тип каталога. местонахождение каталога и административный контекст. В первую очередь необходимо ввести информацию. его .24 и 9. Определение местонахождения каталога Nt-tH Configuration Assistant Could not connect to the directory for tha following reason: Directory Service Error Verily that the Information you provided Is corrector contact your directory service administrator for assistance. необходимую для установления соединения.274 Глава 9 NelS Confiduiahon Assistant: Diicctory Access. в котором данный клиент может выполнять поиск идентификаторов соединений.26. Конфигурирование доступа к каталогу для сервера Вторая опция на начальном экране конфигурирования доступа к каталогу (Perform directory access configuration for a server) позволяет разрешить серверу доступ к каталогу для добавления. Сообщение об ошибке В случае успешного установления соединения у вас будут запрошены тип каталога. используемого клиентом.

относящихся к службам баз данных и именам сетевых служб. в котором хранится вся информация. или настроить соответствующим образом профиль методов именования в NetS Assistant.Nets Configuration Assistant 275 местонахождение и административный контекст. вам будет предложено ее создать. Опция Create or Update Oracle Schema. создана ли в каталоге схема Oracle. Контекст Oracle (cn=OracleContext) — это корень поддерева каталога. В случае успешного создания контекста Oracle аутентифицированный пользователь может быть включен в одну из трех групп: • Создатели баз данных Oracle (cn=OracleDBCreators. Создав имя сетевой службы для сервера каталога.cn=OracleContext) • Администраторы безопасности Oracle (cn=OracleSecurityAdmins. указав names. позволяет создавать или обновлять схему Oracle. в котором сервер может считывать и создавать записи.directory_path=LDAP. Для создания в каталоге записей о сетевых службах вы должны быть членом группы OracleNetAdmins. Для этого можно отредактировать файл sqlnet. По умолчанию в эту группу включается аутентифицированный пользователь. относящаяся к программному обеспечению Oracle. Если в каталоге отсутствует контекст Oracle.cn=OracleContext) • Администраторы сети Oracle (cn=OracleNetAdmins. вам будет предложено его создать. Net8 Configuration Assistant проверяет.ora. cn=OracleContext) Пользователи из групп OracleDBCreators и OracleNetAdmins могут использовать Oracle Database Configuration Assistant для создания служб баз данных и Net8 Assistant для создания имен сетевых служб или модификации атрибутов NetS. 10* . присутствующая на начальном экране конфигурирования доступа к каталогу. создавший контекст Oracle в процессе обращения к каталогу на сервере. Администратор каталога может добавлять в эти группы других пользователей. Если она отсутствует или имеет устаревшую версию. созданную в каталоге. вы должны сделать LDAP первым методом именования.

.

Менеджер соединений .

Если придерживаться сетевой терминологии и представить себя пакетами. но нет карты. Кроме того. . направляя болельщиков к их местам. Таким образом. управление доступом и мультипротокольную поддержку. Сервер имен Oracle выдает клиенту адрес. в которой есть адреса. а к тому же сегодня играет моя любимая команда. направляя клиентские запросы на соединение либо к следующему промежуточному узлу. а заодно научимся использовать и конфигурировать этот инструмент. Рассмотрим компоненты. обязанности которых обычно сводятся к распределению зрителей по местам. мы завершили первый переход и начали второй. Интересно. Каждый распорядитель на стадионе выступает в роли "маршрутизатора". Дойдя до второго распорядителя.278 Глава 10 П . то картина будет следующей. Отрезок пути между двумя маршрутизаторами на сетевом языке называется переходом (hop). В этой главе мы рассмотрим различные возможности. над каждым из проходов написан номер? Вот наш сектор. в котором нужно двигаться. по которому нужно устанавливать соединение. менеджер соединений Oracle предлагает клиентам ряд других услуг. стоит обратиться к другому распорядителю. Куда идти дальше? Я думаю. путь от первого распорядителя до наших мест состоял из двух переходов. по какому маршруту следует посылать запрос. предоставляемые менеджером соединений Oracle. Менеджер соединений Oracle. . либо к конечному серверу базы данных. напротив. порт прослушивающего процесса и идентификатор базы данных (SID или имя службы). Это отличные места? Отсюда будет видно все происходящее. Теперь надо найти сектор 372. Я уверена. например. которые реализуют каждую из этих функций.. что мы должны спуститься по этой лестнице до ряда С и найти сиденья с номерами 1 и 2. управление доступом на уровне Net8 и мультипротокольную поддержку. который мы только что проделали. Видите. какой чудесный день! У меня есть билеты на бейсбольный матч.. мы начали первый переход на пути к своим местам. . что моя команда выиграет! Рассмотрим путь. может помочь в выборе направления. Сервер имен можно рассматривать как телефонную книгу. он обеспечивает концентрацию соединений. : . Итак. ". Менеджер соединений Oracle работает как маршрутизатор. где же наши места? Спрашиваем у распорядителя на входе. нам нужно подняться на второй уровень по эскалатору. Профессиональный бейсбол — это увлекательное зрелище. имя хоста. Подойдя к первому распорядителю и узнав направление. Оказывается. Обзор менеджера соединений Oracle Что отличает менеджер соединений Oracle от сервера имен Oracle? На самом деле это совершенно разные инструменты.. В отличие от распорядителей на стадионе. в том числе концентрацию соединений. осмотрите. Он говорит. в путь! Вот мы и на стадионе. но ничего не сообщает о том.

сокращает потребность в ресурсах. Он принимает входящие запросы на соединения (по умолчанию — через порт 1630 протокола TCP/IP). CMADMIN отвечает на запросы утилиты cmctl и идентифицирует каждый прослушивающий процесс. CMGW) и административный (Connecion Manager Administrative process. Этот процесс обрабатывает запросы на регистрацию. когда клиенты и серверы взаимодействуют через Net8. Эта технология. Помимо этого. используя гораздо меньшее количество . известная под названием концентрации соединений (connection concentration). хранящегося в кэше менеджера соединений • Получения маршрутной информации о CMGW и прослушивающих процессах Концентрация соединений В главе 3 рассказывалось о том.Менеджер соединений 279 Процессы менеджера соединений Oracle Основная задача менеджера соединений Oracle состоит в приеме входящих клиентских запросов и инициировании соединений с требуемыми службами. обслуживающий как минимум один экземпляр базы данных. и регистрирует маршрутную информацию о CMGW и прослушивающих процессах. поступающие от CMGW. Об утилите cmctl будет подробно рассказано в конце главы. обеспечивающая управление этими процессами. Кроме того. через единственное транспортное соединение с MTS (то есть обеспечивает мультиплексирование клиентских сеансов). Административный процесс Многопоточный процесс CMADMIN отвечает за выполнение всех административных задач. относящиеся к разным клиентским сеансам. CMADMIN). Шлюзовой процесс Процесс CMGW регистрируется в процессе CMADMIN и действует в качестве концентратора. поскольку сервер может поддерживать множество соединений между процессами. Менеджер соединений Oracle позволяет передавать потоки данных. как можно сократить число соединений между клиентами и сервером при помощи многопоточного сервера (MTS). В его состав входят два процесса — шлюзовой (Connection Manager Gateway process. По умолчанию ему назначается порт 1830. Ниже дается краткий обзор процессов CMGW и CMADMIN. устанавливает соединения с прослушивающими процессами и ретранслирует данные между клиентами и серверами. MTS очень полезен. CMADMIN может использовать сервер имен Oracle для выполнения следующих задач: • • • • Определения местонахождения локальных серверов имен Oracle Мониторинга зарегистрированных прослушивающих процессов Получения информации об адресах клиентов Периодического обновления списка доступных служб. а также утилита Connection Manager Control (cmctl). CMGW отвечает на запросы утилиты cmctl.

за какой стол можно сесть.1. который показал. Таким образом. Если развить эту идею дальше и использовать нескольких менеджеров соединений. что менеджер соединений Oracle предоставляет три различные возможности: концентрацию соединений. Этот процесс "получения доступа к столу" показан на рис. Клиентское соединение Клиент А г ч соединение 1 bni сашмшв -1 . ™ !•' ••Л Транспортное } соединение соединений -. Управление доступом на уровне Net8 В начале этой главы упоминалось о том. то можно обеспечить поддержку тысяч параллельных соединений пользователей с сервером. Официантка убедилась. концентрация соединений позволяет увеличить общее число клиентов. В этом разделе рассмотрим управление доступом. 10. что мы заплатили.!.. и спросила. Как видите.280 Глава 10 точек приема входящих запросов. между машиной менеджера соединений и сервером базы данных установлено всего одно фактическое соединение. соединенных с базой данных через менеджер соединений. Во время недавней поездки в Лас-Вегас мне довелось побывать в одной неплохой столовой. сколько человек в нашей компании и в каком зале мы хотим расположиться — для курящих или для некурящих.. Заплатив за обед. чтобы нас посадили за стол. 10. управление доступом на уровне Net8 и мультипротокольную поддержку.-. обслуживаемых сервером.2. На рис.1 показаны несколько клиентов. Затем она направила нас к другому человеку. Я была в компании еще трех человек. мы встали в очередь.• Клиент В Машина Клиентское соединение 1— Клиент С dr^t] F 1 1 1 1 ' ' База данных соединений ' i|g ' j \ Сервер базы данных Рис. 10. Концентрация соединений при использовании менеджера соединений Oracle При совместном использовании менеджера соединений и многопоточного сервера количество поддерживаемых соединений возрастает в геометрической прогрессии. .

о котором рассказано ниже. За столом должно сидеть определенное число людей. где нам показали определенный стол. 2.2. Все клиенты должны предварительно заплатить. обслуживающий персонал руководствуется следующими правилами: 1.281 Менеджер соединений Зал для некурящих X = наш стол Рис. от кассира мы пошли к официантке. Правила фильтрации хранятся в файле email. в каком зале они будут сидеть — для курящих или для некурящих. 3. которая провела нас в зал для некурящих. Менеджер соединений Oracle позволяет управлять доступом клиентов к серверам в среде TCP/IP путем задания правил фильтрации. Он отмечен на рисунке знаком X. В выбранном зале должен быть свободный стол. Размещение посетителей в столовой Как видите. 10. 4.ога. Члены компании должны согласовать между собой. . Критериями фильтрации могут служить: • Имена хостов или IP-адреса клиентов • Имена хостов или IP-адреса серверов • Имя службы базы данных Хотя первые два критерия приведены во множественном числе. Размещая нас за столом. напоминающих только что перечисленные. Эти правила позволяют запретить определенным клиентам доступ к тем или иным серверам. вы можете указывать единичные имена хостов или IP-адреса.

а потом переводит ее ответ. Хотя Net8 теоретически может соединять столько стеков протоколов. где SPX-клиенты используют протокол IPX для связи с базой данных. Мультипротокольная поддержка в менеджере соединений Oracle Сервер базы данных . с использованием так называемых сетевых сообществ (network communities). который знает английский. требовалось прибегать к услугам средства Multiprotocol Interchange. 10. и сообщество серверов Compaq OpenVMS. Машина менеджера соединений Клиент С Рис.3. До появления Net8 связь между несовместимыми сетевыми протоколами осуществлялась при помощи программного средства Multiprotocol Interchange. Каждая машина. точно так же.282 Глава 10 Мультипротокольная поддержка Моя соседка. 10. работающей по протоколу TCP/IP. использовавших протокол TCP/IP. недавно переехала в Соединенные Штаты и совсем не говорит по-английски. Он задает жене мой вопрос. как я должна обращаться к мужу соседки. связанные с используемой аппаратурой. Если мне нужно что-то у нее спросить. в сети могло существовать сообщество UNIX-серверов. входившая в сообщество. использовавших протокол DECnet. чтобы установить с ней контакт. памятью и/или операционными системами. живущая на противоположной стороне улицы. мне приходится обратиться к ее мужу. соединялась с другими машинами своего сообщества по одному протоколу. Пример мультипротокольной поддержки показан на рис. В Net8 функции Multiprotocol Interchange выполняет менеджер соединений. Например. Чтобы передать запрос к базе данных из одного сообщества в другое с использованием SQL*Net2.3. сколько вы сможете установить. узлы сети могут накладывать свои ограничения.

Приведу здесь только две первые строки. В таблице 10. вы найдете там файл с именем cman. какие еще параметры можно включать в файл cman.ora Файл cman. Однако для большей наглядности их все же следует включить.ora. Заглянув в каталог $ORACLE_HOME/network/admin/samples (в UNIX) или ORACLE. Единственное. . HOME\network\admin\samples (в Windows NT). объясняющих синтаксис и назначение каждого из доступных параметров. Поскольку процесс CMGW выполняет все основные функции менеджера соединений Oracle.ora сервера имен Oracle. После комментариев дается полный пример конфигурации. Если ваши процессы будут использовать протокол TCP/IP и прослушивать стандартные порты. В данном случае Net8 Assistant или Net8 Configuration Assistant не помогут.1 приведены четыре параметра менеджера соединений Oracle.ora прослушивающего процесса или файлу names.ora используется для хранения параметров конфигурации менеджера соединений Oracle. Этот файл аналогичен по своему назначению файлу listener.— это имя своего хоста. какие порты используются процессами.ora начинается с комментариев. Посмотрим. Вам придется редактировать файл конфигурации вручную. Первый параметр относится к процессу CMGW.Менеджер соединений 283 Конфигурирование менеджера соединений Oracle Решив использовать в своей системе один или несколько менеджеров соединений Oracle. его можно запускать без процесса CMADMIN. Начнем с изучения разделов образцового файла cman. а также (за исключением cman_profile) их значения. что я добавила. MARLENES-PC.ora и tnsnames. а второй — к процессу CMADMIN. Cman.ora. Q 8 # cman's listening addresses П cman = (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=marlenes-pc)(PORT=1630)(QUEUESIZE=32))) cman_admin = (ADDRESS=(PROTOCOL=tcp)(HOST=marlenes-pc)(PORT=1830)) Как следует из комментария. по которым процессы будут принимать запросы на соединения. в этих строках определяются адреса. Его можно использовать как образец при конфигурировании процессов менеджера соединений.ora. вы должны их сконфигурировать. то эти две строки вообще не нужны. Образцовый файл cman. В этом случае вы сможете быстро проверить. Указанные номера портов используются по умолчанию.

Значение по умолчанию: стап=(аЬЬге55=(рго1осоНср)(по51=<локальный_хост>)(р011=1630)) cman_admin Адреса.3.1. cman_profile= (parameter_list= (maximum. Значение по умолчанию: cman_admin=(addressHprotocoNcp)(host=<^io6ou_xocT>)(port=1830)) cman_profile Список параметров. поэтому описания этих переменных вынесены в таблицу 10. Он помещается в файл cman. Поскольку cman_rules содержит только четыре значения.ora -:" Параметр Описание • cman Адреса.relays=512) (log.2. относящихся к менеджеру соединений Orade (см. они перечислены в таблице 10. Правило фильтрации задается путем указания перечисленных ниже параметров с необходимыми значениями.ora после определений параметров cman и cman_admm. cman_rules Правила фильтрации для контроля доступа к сети. прослушиваемые административным процессом менеджера соединений Oracle (CMADMIN).3). адреса назначения и идентификатора базы данных. прослушиваемые шлюзовым процессом менеджера соединений Oracle (CMGW). Эти параметры определяют. Что касается профиля. Кроме того. SRC — имя хоста или IP-адрес источника запроса DST — имя хоста или IP-адрес сервера назначения SRV . то он может содержать довольно много переменных. определяющих работу менеджера соединений._level=1) (relay_statistics=yes) (remote_admin=yes) (show_tns_info=yes) (use_async_call=yes) (autnentication_level=0) (tracing=yes) (trace_timestamp=yes) (г_гасе„Ше1еп=100) (trace_fileno=2)) .1. табл. ниже приведен пример профиля.2 и 10. должен ли менеджер соединений принимать или отклонять запросы с указанной комбинацией адреса источника.SID базы данных ACT — принимать или отклонять входящие запросы с указанными выше характеристиками Два параметра из таблицы 10.1 — cman_profile и cman_rules — представляют особый интерес. а их значения по умолчанию и диапазоны значений — в таблицу 10.284 Глава 10 Таблица 10. Параметры cman. 10.

285 Менеджер соединений Таблица 10. Количество файлов задается параметром TRACE_FILENO. Уровень безопасности. разрешен ли удаленный доступ к менеджеру соединений Oracle. .2. Определяет. Размер файла трассировки в килобайтах (KB). Каталог для файла трассировки. связанных с ретрансляцией Максимальное число буферов. должна ли записываться статистика по операциям ввода/вывода. Параметры cman_profile Параметр answerjimeout authenticationjevel logjevel max_freelist_buffers maximum_connect_ data maximumjelays relay_statistics remote_admin showjnsjnfo tracing trace_directory i tracejilelen tracejileno tracejimestamp Описание Интервал тайм-аута (в секундах) для процедуры установления соединения по входящему запросу. разрешена ли трассировка для менеджера соединений Oracle. должна ли записываться информация. поддерживаемых менеджером соединений Oracle. Определяет. Если планируется использовать параметры TRACE_FILELEN или TRACEJIMESTAMP.IST 3 = отчет о блокировках ретрансляции 4 = отчет о количестве операций ввода/вывода. Максимальная длина строки с данными о соединении для входящих запросов на соединение. в этом параметре должен быть указан каталог. При превышении этого размера трассировочная информация записывается в следующий файл. которые TNS может заносить в список своих свободных блоков с целью последующего использования. Количество файлов трассировки. не использующие службу сетевой безопасности (Secure Network Services. Определяет. вместо того чтобы возвращать их операционной системе после закрытия соединения. Определяет. требуемый менеджером соединений Oracle: 1 = отклонять запросы на соединения. Максимальное число параллельных соединений. SNS) из пакета Oracle Advanced Security О = не проверять использование SNS Уровень протоколирования: 0 = протоколирование не ведется 1 = базовый отчет 2 = отчет о выявленных совпадениях с RULEJ. относящаяся к TNS. При одновременной установке параметра TRACE_FILELEN файлы трассировки будут использоваться циклическим образом. отличный от каталога по умолчанию. Добавляет отметку времени в формате дд-месяц-гггг чч:мм:сс к трассируемому событию в файле трассировки.

286 Глава 10 Таблица 10. IF AND ONLY IF "cman_rules" exists # # cman_rules = (rule_list= # (rule=(src=skdl)(dst=x)(srv=x)(act=accept)) # ) . Таблица 10.ora говорится о том.2 (продолжение) Параметры cmanjprofile Параметр use_async_call Описание Определяет. ORACLE_HOME\network\trace в Windows NT trace_filelen=unlimited trace_fileno=1 trace_timestamp=NO tracing=NO use_async_call=YES Возможные значения 0-п ОМ 0-4 0-10240 257-4096 1-2048 [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] Местонахождение каталога Размер файла в килобайтах (не ограничен) Число [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] [YES | TRUE | ON | 1 | NO | FALSE | OFF | 0] В последнем разделе образцового файла cman. что при установке параметра cman_rules менеджер соединений будет работать как фильтрующий прокси-сервер TCP/IP. Установки по умолчанию и диапазоны значений для параметров cman_profile Параметр со значением по умолчанию answer_timeout=0 authentication_level=0 log_level=0 max_freelist_buffers=0 maximurn_connect_data=1024 maximum_relays=128 relay_statistics=NO remote_admin=NO show_tnsjnfo=NO trace directory=$ORACLE HOME/network/trace/ в UNIX. и приводится синтаксис этого параметра.3. будет ли менеджер соединений Oracle использовать асинхронные процедуры в фазе ответа или вызова при установлении соединения Net8. # cman is used as a fire wall proxy on TCP.

Возможные значения параметров protocol и multiplex перечислены в таблице 10. что приведены выше. что нужно принимать все запросы на соединения. TRUE или BOTH разрешает концентрацию как входящих. и в завершение — клиенты. Таблица 10.4. Конфигурирование концентрации соединений Чтобы использовать концентрацию соединений. необходимо в первую очередь сконфигурировать менеджер соединений Oracle. означающие. Значение 1. При использовании параметра cman_rules менеджер соединений действует по принципу "запрещено все. Значение OUT разрешает концентрацию только исходящих сетевых соединений. Обе задачи решаются с помощью Database Configuration Assistant. исходящие от сервера SKDL. которые должны быть разрешены.-! 287 В данном случае параметр cman_rules сообщает менеджеру соединений Oracle о том. необходимо создать два адреса: один для менеджера соединений Oracle.. Если вы не хотите использовать этот инструмент.Менеджер соединений •II. multiplex (mult. YES.ora. сервер сконфигурирован.4. Из предыдущего раздела вы уже знаете. Теперь займемся конфигурированием клиента. как задать протокол и включить мультиплексирование: Q mts_dispatchers = "(protocol=TCP)(multiplex=ON)" MTS имеет несколько других параметров. для которого диспетчер генерирует конечную точку прослушивания. Значение О. поэтому вы должны явно указать все соединения. Затем конфигурируется сервер. что хосту SKDL разрешено соединяться с любой базой данных на любом сервере. Другое возможное значение переменной act — REJECT. Значение IN разрешает концентрацию только входящих сетевых соединений клиентов. OFF или FALSE запрещает концентрацию как входящих. . необходимо включить мультиплексирование. можете вручную установить параметр mts_dispatchers в файле параметров базы данных init. Символы х— это шаблоны. a другой — для прослушивающего процесса. Для поддержки концентрации соединений сервер назначения должен быть сконфигурирован так. Итак. Чтобы клиенты могли использовать концентрацию соединений. но для поддержки концентрации соединений достаточно только тех. чтобы он работал в режиме многопоточного сервера. pro) Сетевой протокол (в нашем примере TCP). что не разрешено". Параметры protocol и multiplex многопоточного сервера Параметр Описание protocol (prot. как это делается. Кроме этого. ON. Ниже показано. Процедура конфигурирования зависит от используемого метода именования. так и исходящих сетевых соединений. так и исходящих сетевых соединений. NO. mul) Разрешает/запрещает концентрацию соединений.

Использование менеджера соединений обеспечивается параметрами source_route.us. Сконфигурировав менеджер соединений Oracle. Вот пример записи в файле tnsnames. необходимо начинать с конфигурирования менеджера соединений.ora так. Конфигурирование мультипротокольной поддержки.ora на каждом из серверов имен Oracle. использующим TCP/IP. как и концентрации соединений. установит соединение с базой данных. Это означает. поддерживаемому Oracle.ora: Q skdl= (description (source_route=yes) (address= (protocol=tcp) (host=cman-pc) (port=1630) (address= (protocol=tcp) (host=marlenes-pc) (port=1521)) (connect_data= (se rvice_name=skdl. указанными непосредственно после ключевого слова description. необходимо присвоить значение YES параметру source_route. CMAN-PC — это имя машины. Второй адрес определяет местонахождение базы данных. не имеющий возможности напрямую соединяться с сервером.com))) . protocol. где на первом месте будет стоять адрес менеджера соединений Oracle. В данном случае конфигурирование выполняется почти .' . Для этого нужно создать список адресов. Если бы менеджер соединений находился на машине MARLENES-PC. в свою очередь. сможет соединиться с менеджером соединений. а затем с прослушивающим процессом.288 Глава 10 В случае локального именования или именования по каталогу вы должны модифицировать файл tnsnames.xyzco rp. На стороне клиента достаточно поместить в файл sqlnet. на которой запущен менеджер соединений. host и port. Менеджер соединений может принимать запросы на соединения по любому протоколу. При использовании серверов имен Oracle ситуация немного упрощается. а на втором — адрес прослушивающего процесса. что SPX-клиент. то в качестве значения host нужно было использовать именно это имя. который.ora параметр use_cman=TRUE. Чтобы клиент сначала соединялся с менеджером соединений Oracle. Менеджер соединений будет использовать эту информацию для соединения со службой базы данных через прослушивающий процесс. вы должны сконфигурировать клиент. Такой же параметр должен присутствовать в файле sqlnet. поскольку информация о прослушивающем процессе и менеджере соединений передается серверу имен автоматически. чтобы в запросах на соединение использовался менеджер соединений Oracle.

поступающие с хоста 196. где на первом месте стоит адрес менеджера соединений. us.45. Параметр cman-rules имеет следующий синтаксис: Q cman_rules= (rule_list= (rule= (src=marlenes-pc) (dst=skdl-pc) (srv=skdl. Чтобы разрешить управление доступом. Теперь необходимо сконфигурировать клиент.Менеджер соединений 289 так же. что буква х используется в качестве шаблона.ora: Q skdl= (description (source_route=yes) (address= (protocol=spx) (service=cman) (address= (protocol=tcp) (host=marlenes-pc) (port=1521)) (connect_data= (se rvice_name=skdl.1.xyzcorp.46.— это запись в файле tnsnames. На этом конфигурирование менеджера соединений Oracle завершается.123. com))) Здесь изменился только первый адрес. должны отклоняться. где теперь указаны протокол SPX и имя службы CMAN. должны приниматься.ora параметр cman_rules. а на . Его значения были приведены в таблице 10.US. кроме стандартного конфигурирования менеджера соединений вы должны добавить в файл cman.com) (act=accept)) (rule= (src=196.XYZCORP.78) (srv=mydb) (act=reject))) В этом примере определены два правила. все запросы на соединения с базой данных SKDL.123.67. что будет немного отличаться. поступающие с хоста MARLENES-PC. Вы создаете список адресов. Единственное.COM на хосте SKDL-PC. При использовании локального именования или именования по каталогу клиенты конфигурируются точно так же. каждое в своем разделе rule. обозначающего любой адрес или любое имя.us.123. что все запросы на соединения с базой данных MYDB на хосте 196. как было описано в предыдущем разделе.123. xyzco rp. Второе правило гласит. как и при концентрации соединений и мультипротокольной поддержке.78.45. Помните.46.67) (dst=196. Согласно первому правилу.

корпорация Oracle не рекомендует его использовать. .ora. а не из приглашения операционной системы.5. ' • < Возможные команды приведены в таблице 10. Кроме того. Хотя существует и третий тип. Параметр OFF не влияет на существующие соединения. что с командой связаны дополнительные параметры) Команда Описание accept_connections Разрешает или запрещает принимать новые запросы на соединения. . Для одновременного запуска процессов CMGW и CMADMIN нужно ввести следующую команду: Q cmctl start cman Чтобы войти в утилиту и вводить команды из приглашения cmctl>.5. Параметр по умолчанию: ON Возможные параметры: ON | OFF closejelay Разрешает закрыть транспортное соединение с указанным номером.290 Глава 10 втором — адрес прослушивающего процесса. тип cm лучше использовать только для резервирования ресурсов. то использование службы имен Oracle невозможно. Рекомендуется указывать следующие типы: cman для воздействия на процессы CMGW и CMADMIN или cm для воздействия только на процесс CMGW. она запускается из командной строки операционной системы по команде Q cmctl <команда> <тип_процесса> . adm. Следующий вопрос: как запускать и останавливать процессы менеджера соединений Oracle и как ими управлять? Для этого корпорация Oracle предоставляет специальную утилиту с названием cmctl (Connection Manager Control). все задачи по конфигурированию выполнены. Аргумент тип_процесса указывает. Параметр ALL немедленно закрывает все соединения. Утилита Connection Manager Control Итак. к какому процессу относится команда. Следует заметить. . введите Q cmctl 1 ' ' Таблица 10. Параметр по умолчанию: отсутствует Возможные параметры: номер_транспорта | ALL help Выводит список всех доступных команд cmctl. Используйте эту команду с осторожностью. Как и утилиты Listener Control и Names Control. и устанавливаете значение YES для параметра source_route. При использовании сервера имен Oracle достаточно указать use_cman=TRUE в файле sqlnet. В сочетании с именем команды выводит справку по использованию данной команды. Команды утилиты cmctl (звездочка означает. ' ' . что если в маршруте соединения указано более одного менеджера соединений Oracle.

Используется с одним из следующих параметров: NORMAL (no умолчанию) — завершение работы работа менеджера соединений Oracle после закрытия всех существующих соединений. (VERBOSE) — общее количество запросов на соединение.вывод информации о состоянии для процессов CMGW и CMADMIN.максимальное количество параллельных соединений. OUT_OF_RELAY (СОМРАТ) — общее количество отказов в соединении по причине превышения maxjelays. когда-либо устанавливавшихся с момента запуска менеджера соединений. активных в данный момент. (VERBOSE) — количество соединений. но это не обязательно.REFUSED (СОМРАТ) . время запуска и текущую статистику. cman (по умолчанию) — вывод статистики для процессов CMGW и CMADMIN. status Выводит информацию о состоянии.5 (продолжение) Команды утилиты cmctl (звездочка означает. cm . что с командой связаны дополнительные параметры) Команда Описание ' shutdown Останавливает процессы менеджера соединений Oracle. При указании параметров СОМРАТ или VERBOSE выводится следующая статистика: TOTAL_RELAYS (СОМРАТ) — общее количество установленных транспортных соединений. TOTAL. MOST_RELAYS (СОМРАТ) — пиковое количество активных транспортных соединений. stats Выводит статистику по менеджеру соединений Oracle. сглап — данный аргумент можно указывать после NORMAL или ABORT. (VERBOSE) — общее количество запросов на соединение. ACTIVE_RELAYS (СОМРАТ) — количество транспортных соединений. включая версию. отклоненных с момента запуска менеджера соединений из-за достижения предельного числа транспортных соединений. cman (no умолчанию) . . После выдачи команды новые запросы на соединения не принимаются. ABORT—немедленное завершение работы с закрытием всех открытых соединений. активных в данный момент.вывод статистики для процесса CMGW. cman (по умолчанию) — запуск процессов CMGW и CMADMIN. успешно установленных менеджером соединений с момента его запуска. start Запускает менеджер соединений Oracle. поскольку он неявно используется в обоих случаях.общее количество отклоненных соединений. (VERBOSE) . cm — запуск только процесса CMGW. отклоненных с момента запуска менеджера соединений.Менеджер соединений 291 Таблица 10. cm — вывод информации о состоянии для процесса CMGW. (VERBOSE) — общее количество соединений.

C:\>cmctl CMCTL for 32-bit Windows: Uersion 8 . Приглашение cmctl и результат выполнения команды help . значения которых можно просматривать. закрывая все открытые соединения без предупреждения. Идентична команде quit. В сочетании с именем параметра показывает его текущее значение. Oracle Corporation. Й11 rights reserved. что с командой связаны дополнительные параметры) Команда Описание stop Немедленно останавливает менеджер соединений Oracle. 0 . какие операции доступны. j Command Prompt . version Показывает версию и имя утилиты cmctl. 8 . cman (по умолчанию) .Production on 13-ЙРН-20И0 13:28:08 <c> Copyright 1998. type "help" for information.5 (продолжение) Команды утилиты cmctl (звездочка означает. В строке приглашения cmctl> введена команда help. Идентична команде exit. show* Выводит список параметров текущего сеанса. exit Завершает работу утилиты. Welcome to CMCTL. как выглядит окно DOS после входа в утилиту cmctl.4 показано. 6 . 10.292 Глава 10 Таблица 10. quit Завершает работу утилиты. запрашивая подтверждение при наличии открытых соединений. stopnow Немедленно останавливает менеджер соединений Oracle. cm — останов только процесса CMGW.4. cman (по умолчанию) — останов процессов CMGW и CMADMIN. set* Выводит список параметров текущего сеанса cmctl.останов процессов CMGW и CMADMIN. 1 . CMCIL> help The following operations are available An asterisk <**> denotes a modifier or extended command: accept„connections start stop ijuit show* close_relay stats stopnow exit shutdown status version set» CMCTL> _ Рис.cmcll MicrosoftCR> Windows NT<TM> <C> Copyright 1985-1996 Microsoft Corp. 10. В сочетании с именем параметра устанавливает его значение. На рис. для которых можно установить значения. чтобы показать. cm — останов только процесса CMGW. 1999.

logjevel Устанавливает уровень протоколирования для менеджера соединений Oracle с помощью аргумента. что корпорация Oracle рекомендует использовать вместо команд stop и stopnow команду shutdown. Displaymode Изменяет режим вывода для команд start. то же самое транспортное соединение может быть использовано для другого соединения.ora. 1 = отклонять соединения. связанных с ретрансляцией. 3 = отчет о блокировках ретрансляции. 1 = базовый отчет. прошедшее с момента выдачи команды show relay до момента выдачи команды close_relay. будут действовать только на протяжении текущего сеанса cmctl. что за время. 4 = отчет о количестве операций ввода/вывода..7. выполняемым менеджером соединений Oracle. Изменения параметров менеджера соединений. Таблица 10. выполненные по команде set. Дело в том. перечисленных в таблице 10.••• • • . Эти изменения нельзя сохранить в файле cman. SNS). <„ . Используется со следующими аргументами: 0 (по умолчанию) = аутентификация клиентов не требуется. поскольку она выполняет те же самые действия более аккуратно.-. Команда set имеет четыре параметра. stop и version. Следует также заметить.293 Менеджер соединений При использовании команды close_relay следует соблюдать осторожность. Используется со следующими аргументами: СОМРАТ (по умолчанию) — режим совместимости с предыдущими версиями менеджера соединений Oracle VERBOSE (рекомендуется) — вывод отформатированной и более содержательной информации. не использующие службу сетевой безопасности (Secure Network Services. stats. перечисленных в таблице 10. 2 = отчет о выявленных совпадениях с RULEJJST. принимающего значения от 0 до 4: 0 (по умолчанию) = протоколирование не ведется. При установке значения ON будет отображаться следующая информация: Количество полученных байтов Количество отправленных байтов Количество полученных пакетов Количество отправленных пакетов Команда show имеет шесть параметров.6. status. relay_statistics Включает (ON) или выключает (OFF) сбор статистики по операциям ввода/вывода.6. ••:••. Параметры команды set утилиты cmctl Параметр Описание authentication level Устанавливает уровень безопасности для менеджера соединений Oracle.

используемые менеджером соединений Oracle. выводимые командами address.7. . Показывает значения.profile файла cman. Если указать в качестве аргумента номер. profile Показывает текущие значения параметров менеджера соединений Oracle. relay Показывает текущее состояние выбранного транспортного соединения или все активные транспортные соединения менеджера соединений Oracle. внесенных с помощью команды set. displaymode Показывает текущий режим вывода для команд start.294 Глава 10 Таблица 10.ora с учетом изменений. то будет выведена следующая информация: Номер транспортного соединения Адрес источника (конечная точка на стороне клиента) Адрес назначения (конечная точка на стороне сервера) Количество полученных