Опубликован: 11.03.2009 | Уровень: специалист | Доступ: платный
Лекция 6:

Распределенные СУБД. Архитектура MS SQL Server 2005 и ORACLE Server 10g

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Аннотация: Лекция посвящена теме распределенных СУБД. В теоретической части рассказывается о сервере Oracle, его составных частях и процессах, о табличных пространствах, их структуре и типах. А также, рассматриваются практические задания по теме.

Презентации к данной лекции вы можете скачать , здесь

Сервер ORACLE состоит из следующих частей.

  1. Экземпляр - это набор процессов операционной системы и используемая ими память. Экземпляр Oracle состоит из двух частей: области SGA и набора фоновых процессов. Фоновые процессы выполняют рутинные задачи сопровождения, обеспечивающие работу СУБД.
  2. База данных Oracle - набор физических файлов операционной системы. База данных может быть смонтирована и открыта в нескольких экземплярах. Экземпляр может смонтировать и открыть только одну базу данных в каждый момент времени. В каждый момент времени с экземпляром связан только один набор файлов.
    • Файлы данных. В этих файлах хранятся данные в виде таблиц, индексов и всех остальных сегментов.
    • Файлы журнала повторного выполнения. Журналы транзакций.
    • Управляющие файлы. Определяют местонахождение файлов данных и содержат другую необходимую информацию о состоянии базы данных.
    • Временные файлы. Используются при сортировке больших объемов данных и для хранения временных объектов.
    • Файлы паролей. Используются для аутентификации пользователей, выполняющих администрирование удаленно, по сети.
    • Файлы параметров определяют конфигурацию экземпляра.

SGA и PGA

Oracle использует память системы (как реальную, так и виртуальную) для выполнения пользовательских процессов и самого программного обеспечения СУБД, и для кэширования объектов данных. Существуют два вида областей памяти Oracle - SGA и PGA.

Системная память Oracle для всей базы данных называется SGA (system global агеа - системная глобальная область или Shared Global Area - разделяемая глобальная область). Данные и управляющие структуры в SGA являются разделяемыми, и все фоновые процессы Oracle и пользовательские процессы могут к ним обращаться.

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

Буфер журнала повторного выполнения используется для временного кэширования данных активного журнала повторного выполнения перед записью на диск.

В разделяемом пуле сервер Oracle кэширует различные "программные" данные. Здесь кэшируются результаты разбора запроса, выполняемый сеансом PL/SQL-код, хранятся параметры системы, кэш словаря данных, содержащий информацию об объектах базы данных.

PGA - память пользовательского процесса. Для каждого подключения к базе данных Oracle выделяет PGA (Process Global Area - глобальную область процесса или program global агеа - глобальную область программы) в памяти машины и, кроме того, - PGA для фоновых процессов. Эта область памяти содержит данные и управляющую информацию одного процесса и между процессами не разделяется. В PGA располагаются области сортировки, области хешей и другие структуры процесса.


Процессы ORACLE. Отличия между SHARED и DEDICATED экземплярами

DBWn - процесс записи в БД, отвечает за запись измененных блоков на диск.

LGWR отвечает за сброс на диск содержимого буфера журнала повторного выполнения, находящегося в области SGA.

PMON - монитор процессов, осуществляет управление процессами, отвечает за очистку после нештатного прекращения подключений, регистрирует запущенные экземпляры в процессе прослушивания.

SMON - системный монитор, инициализирует структуры, осуществляет дефрагментацию таблиц, осуществляет восстановление экземпляра после сбоев и так далее.

CKPT - процесс контрольной точки, осуществляет сброс грязных блоков на диск с пометкой синхронизации в момент времени (блок - грязный, если был изменен после подъема с диска).

Listener - серверный процесс прослушивания, обеспечивающий физическое подключение к базе данных, выполняет запросы, читает данные с диска. На диск данные пишет фоновый процесс.

ARCn копирует в redo log активный файл журнала повторного выполнения, когда он заполняется процессом LGWR. Эти архивные файлы журнала повторного выполнения затем можно использовать для восстановления носителя.

RECO восстанавливает транзакции, оставшиеся в готовом состоянии из-за сбоя или потери связи в ходе изменения данных на нескольких удаленных базах.

Dn отвечает за обслуживание разделяемым сервером клиентов.


При использовании выделенного сервера имеется соответствие один к одному между клиентским сеансом и серверным процессом (идеально подходит системам оперативной обработки транзакций - ООТ). В режиме MTS (Multi-Threaded Server, архитектура многопотокового сервера) соответствие - многие к одному (много клиентов и один разделяемый сервер).

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Александра Каева
Александра Каева
Светлана Токаревская
Светлана Токаревская

Добрый день! Скажите пожалуйста, так и задумано, что в каждой лекции приложен один и тот же приктикум?