Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / Le / Структуры программных средств Oracle.doc
Скачиваний:
51
Добавлен:
16.04.2013
Размер:
128.51 Кб
Скачать

Процессы Oracle8

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

Серверные фоновые процессы

Каждый экземпляр базы данных Oracleсодержит набор серверных фоновых процессов. Фоновый процесс (background process) -это серверный процесс, который выполняет в системе специальную функцию. На рис. 2 и в последующих разделах показаны основные серверные фоновые процессы экземпляра базы данныхOracle.

Процесс записи в базу данных (dbwr)

Когда модифицируется информация базы данных (например, вводится, обновляется или удаляется строка таблицы), Oracleне просто изменяет данные файла данных. Такой вид обработки информации был бы крайне неэффективен в большой многопользовательской системе, так как в этом случае нужно было бы постоянно считывать информацию из файлов данных и записывать ее в файлы. Вместо этого серверный процесс, установленный для сеанса связи пользователя, считывает один или несколько блоков данных из файла данных в память сервера. После этогоOracleвыполняет запрошенные модификации в памяти сервера. В конце концов, процесс записи в базу данных(DBWR - database writer process) переписывает модифицированные в памяти блоки данных назад в файлы данных базы. Чтобы объединить операции обращения к диску, уменьшить ненужный расход ресурсов и обеспечить оптимальное функционированиеOracle8, процесс DBWR экземпляра записывает модифицированные блоки данных из памяти в файлы данных только в некоторых ситуациях: если DBWR в течение нескольких секунд простаивает, если процесс должен считать в память новые блоки данных, а свободного пространства нет, или если выполняется процесс контрольной точки. О контрольных точках рассказано в разделе "Процесс контрольной точки".

Процесс записи в журнал (lgwr)

Процесс записи в журнал (LGWR-logwriterprocess) регистрирует информацию об изменениях, внесенных всеми завершенными транзакциями. Регистрация (протоколирование) транзакций осуществляется следующим образом:

  1. По мере выполнения некоторой транзакции Oracleсоздает небольшие записи, называемые элементами повтора(redo entries),в которых содержится информация, достаточная для воссоздания изменений, вносимых транзакцией.

  2. Элементы повтора транзакции временно сохраняются в буфере журнала повтора (redo log buffer) сервера. Это небольшая область памяти, в которой временно кэшируются элементы повтора всех транзакций системы.

  3. Когда запрашивается завершение транзакции, процесс LGWR считывает все необходимые элементы повтора из буфера журнала повтора и записывает их в журнал транзакций базы данных. Журнал транзакций (transaction log) -это группа файлов, выделенных для протоколирования элементов повтора, которые созданы всеми транзакциями системы. О журнале транзакций и о других механизмах защиты баз данных будет рассказано позже.

BOracleтранзакция считается незавершенной до тех пор, пока процесс LGWR не запишет элементы повтора транзакции и не сделает запись о ее завершении в журнале транзакций.

Соседние файлы в папке Le