Базы данных: Oracle
Администрирование баз данных Oracle
9. Пример работы Oracle
Следующее описание иллюстрирует работу конфигурации ORACLE, при которой пользователь и ассоциированный с ним процесс сервера находятся на разных машинах, соединенных через сеть.
- ЭКЗЕМПЛЯР - работает на том компьютере, на котором выполняется ORACLE (часто называемом ХОСТОМ или СЕРВЕРОМ БАЗЫ ДАННЫХ, информацию о текущем состоянии сервера БД, экземпляре, можно получить по V$INSTANCE )
ЭКЗЕМПЛЯР (INSTANCE она же инстанция) СУБД Oracle – это набор серверных процессов, объединенных единой глобальной системной областью и связанных с общим набором совместно используемых файлов данных. К примеру если на сервере работает две независимые базы данных, и каждая обладает своей глобальной системной областью и независимым набором сервисных процессов то у нас будет два экземпляра базы данных Oracle; каждому из экземпляров присваевается системный идентификатор SID ( system identifier)
- Компьютер, используемый для приложений (ЛОКАЛЬНАЯ МАШИНА или РАБОЧАЯ СТАНЦИЯ КЛИЕНТА) выполняет приложение в рамках пользовательского процесса. Приложение-клиент пытается установить соединение с сервером, используя подходящий драйвер SQL*Net.
- Сервер также выполняет соответствующий драйвер SQL*Net. Сервер обнаруживает запрос на соединение от приложения и создает (выделенный) процесс сервера от имени пользовательского процесса.
- Пользователь выполняет предложение SQL и подтверждает свою транзакцию. Например, пользователь изменяет данные в строке таблицы.
- Процесс сервера принимает это предложение и проверяет разделяемый пул, чтобы отыскать в нем разделяемую область SQL, содержащую идентичное предложение SQL. Если такая разделяемая область SQL найдена, процесс сервера проверяет пользовательские привилегии доступа к запрашиваемым данным и использует существующую разделяемую область SQL для обработки предложения; если нет, то для предложения распределяется новая разделяемая область SQL, в которой осуществляется разбор и исполнение предложения.
- Процесс сервера извлекает все необходимые значения данных из файла данных (таблицы) или получает их из SGA.
- Процесс сервера модифицирует данные в SGA. Процесс DBWR записывает модифицированные данные на диск для постоянного хранения, если сочтет это необходимым. Поскольку транзакция подтверждена, процесс LGWR немедленно регистрирует транзакцию в онлайновом файле журнала повторения.
- Если транзакция успешна, процесс сервера посылает сообщение через сеть приложению. В противном случае передается соответствующее сообщение об ошибке.
- Во время всей описанной процедуры работают другие фоновые процессы, наблюдая за условиями, которые могут потребовать вмешательства. Кроме того, сервер базы данных управляет транзакциями других пользователей и предотвращает соперничество между транзакциями, запрашивающими одни и те же данные.
Эти шаги описывают лишь самый основной уровень операций, которые осуществляет ORACLE.
Государственный комитет Российской федерации
по высшему образованию.
ГОСУДАРСТВЕННЫЙ САНКТ-ПЕТЕРБУРГСКИЙ
ИНСТИТУТ ТОЧНОЙ МЕХАНИКИ И ОПТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
кафедра вычислительной техники
Санкт-Петербург
2000 год
Назад | Оглавление | Далее
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|