Рассмотрим пример обработки SQL-запроса, поступившего от клиента, многопотоковым сервером (Рисунок 6).
Рисунок 6 Обработка запроса многопотоковым сервером
1. Пользовательский процесс на компьютере клиента запускает приложение Oracle. Клиентское приложение пытается установить соединение с сервером базы данных.
2. Процесс прослушивания на сервере базы данных ждет запроса на соединение от процесса пользователя, после чего определяет, можно ли выполнить соединение через разделяемый сервер.
· Если пользовательский процесс может использовать разделяемый сервер, процесс прослушивания выдает ему адрес диспетчерского процесса
· Если пользовательский процесс требует выделенного сервера или разделяемый серверный процесс не может быть назначен, процесс прослушивания создает выделенный серверный процесс и соединяет с ним процесс пользователя.
3. Пользователь выполняет SQL-команду, например, обновляет строку в таблице.
4. Процесс-диспетчер, назначенный для этого пользовательского процесса, помещает требование в очередь запросов, которая находится в SGA и используется всеми процессами-диспетчерами.
5. Разделяемый серверный процесс забирает запрос из очереди (запросы обрабатываются в порядке поступления) и выполняет его:
· Если в разделяемом пуле содержится разделяемая область SQL для такого SQL-утверждения, серверный процесс использует существующую разделяемую область SQL для выполнения клиентского запроса
6. После того, как разделяемый серверный процесс (Snnn) завершит выполнение команды SQL, он помещает ответ в очередь ответов того диспетчера, который отправил запрос. Каждый процесс-диспетчер (Dnnn) имеет в SGA свою собственную очередь ответов.
7. Процесс-диспетчер (Dnnn) проверяет очередь ответов.
8. Процесс-диспетчер (Dnnn) отправляет ответ тому пользовательскому процессу, который делал запрос.
База данных Oracle открывается в три этапа:
§ Формирование экземпляра Oracle (предустановочная стадия - NOMOUNT).
На этой стадии считывается файл параметров, запускаются фоновые процессы, и выделяется системная глобальная область SGA.
§ Установка базы данных экземпляром (установочная стадия - MOUNT).
На этой стадии открыт доступ к управляющему файлу, поэтому возможна модификация содержащейся в нем информации.
§ Открытие базы данных (стадия открытия - OPEN).
На последней стадии открывается база данных. Экземпляр получает доступ к файлам данных, которые указаны в управляющем файле для этого экземпляра, и они становятся доступны пользователям.
Запуск базы данных возможен в любом из трех режимов:
§ NOMOUNT – используется только для создания базы данных.
§ MOUNT – необходим, если выполняется восстановление экземпляра, или модифицируется конфигурация файлов данных или журнальных файлов.
§ OPEN – нормальное рабочее состояние базы данных. В этом режиме обеспечен доступ всех пользователей базы данных.
Остановить (SHUTDOWN) базу данных можно из любого режима базы данных, однако, переход в предыдущий режим невозможен. Т.е. можно перейти из состояния OPEN в состояние SHUTDOWN, но нельзя перейти в состояние MOUNT.
Остановка базы данных возможна в трех режимах:
§ NORMAL – режим ожидания нормального завершения сеансов пользователей до остановки экземпляра. Новые соединения запрещены.
§ IMMEDIATE – режим остановки с принудительным завершением сеансов пользователей.
§ ABORT – немедленная остановка экземпляра. При следующем запуске потребуется восстановление экземпляра, которое происходит автоматически.
Прикладные программы, предназначенные для работы с базами данных, служат для разработки пользовательских приложений, эксплуатации и администрирования баз данных. Клиенты реляционных СУБД обращаются к базе данных прямо или косвенно с помощью команд SQL. Клиентские приложения можно условно разделить на три группы:
§ Пакеты автоматизированного проектирования программ (CASE – средства):
§ Designer/2000 – набор вспомогательных средств для анализа, проектирования и создания приложений Oracle.
§ Средства доступа к данным, такие как программы просмотра баз данных, генераторы отчетов:
§ SQL*Plus – инструмент Oracle, который распознает и передает команды SQL и PL/SQL серверу. Имеет собственный набор команд;
§ Procedure Builder – инструмент для создания, выполнения и отладки программ PL/SQL, используемых в формах, отчетах или на сервере Oracle;
§ Developer/2000 – набор инструментов для разработчиков приложений. Позволяет создавать экранные интерактивные формы, отчеты, диаграммы.
§ Средства администрирования баз данных:
§ Server Manager – инструмент для администрирования баз данных. Имеет графический интерфейс и интерфейс командной строки. До тех пор, пока база данных не открыта, доступ к ней возможен только со стороны администратора базы данных и только через Server Manager;
§ Database Configuration Assistant – графический ассистент, позволяющий достаточно просто создать или удалить базу данных;
§ Административные утилиты, например утилиты резервного копирования и восстановления;
§ Performance Monitor - монитор производительности баз данных.
1. Чертков Б. З. Технологии клиент-сервер [Электронный ресурс]: применение в компьютеризации управления промышленными предприятиями / Б. З. Чертков, Н. В. Сапцин. – Самара. – Режим доступа: http://www.uic.ssu.samara.ru/~samvu/klient/index.htm
2. Зеленков Ю.А. Введение в базы данных [Электронный ресурс]. – Ярославль, 1997. – Режим доступа: http://www.vsma.ac.ru/~pharm/library/books/db/toc.html
3. Вильям Дж. Пэйдж Использование Oracle8/8i: пер. с англ. – М.: Издательский дом "Вильямс", 1999.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.