Программные компоненты в составе СУБД Oracle

На верхнем уровне рассмотрения все программные компоненты можно отнести к одной из следующих частей:

1. Серверная часть СУБД (далее «сервер») - ведет обработку запросов и управляет файлами БД.

2. Клиентская часть СУБД (далее «клиент») - выдает запросы серверу, используя язык SQL.

3. ПО промежуточного уровня — осуществляет взаимодействие клиента и сервера.

Программные компоненты серверной части СУБД Oracle называются экземпляром БД. Экземпляр БД обслуживает одну связанную с ним БД Oracle. Экземпляр БД характеризуется уникальным идентификатором (SystemIDentifierSID) и состоит из набора процессов и связанных с ними структур данных в памяти ВУ.

Процессы переднего плана (ForegroundProcesses) – непосредственно занимаются обработкой клиентских запросов, находящихся в очереди запросов. Результаты обработки запросов размешаются в очереди ответов. Количество процессов переднего плана регулируется системой автоматически в зависимости от размера очереди запросов.

Теневые процессы (BackgroundProcesses). Каждый теневой процесс обслуживает определенный набор задач:

1. Процесс записи в базу данных (DBWR) – отвечает за запись модифицированных данных из буферов данных в файлы данных. Периодически активизирует процесс СКРТ.

2. Процесс контрольной точки (СКРТ) – обеспечивает явное сохранение данных из кэш-буферов в файлы данных. Регистрирует событие контрольной точки в журнале транзакций, которая указывает, сколько данных журнала транзакций нужно применить для восстановления при сбоях.

3. Процесс записи в журнал транзакций (LWR) – отвечает за запись информации из буферов журнальных файлов в файлы журналирования транзакций.

4. Процесс оперативного архивирования (ARCH) – необязательный процесс (выполняется, если параметр ARCHIVELOG экземпляра БД имеет значение TRUE), который отвечает за своевременное создание резервных копий файлов журнальных групп.

5. Системный монитор (SMON) – управляет распределением памяти на диске при выполнении транзакций.

6. Монитор процессов (PMON) – обеспечивает корректное завершение «зависших» диспетчеров сессий: освобождает память, отменяет незавершенную транзакцию и связанные с ней блокировки.

7. Диспетчеры сессий (Dnnn, где nnn – целое число) - обеспечивают управление информацией, связанной с конкретным сеансом работы пользователя, в том числе постановка клиентских запросов в очередь для обработки и возвращение результатов клиентам из очереди ответов.

Глобальная системная область (SystemGlobalAreaSGA) – область кэш-буферов для работы экземпляра БД. В SGA размешаются следующие кэш-буферы:

1. кэш-буферы данных - в них размешаются данные из файлов данных и происходит предварительное изменение этих данных в ходе выполнения транзакций;

2. разделяемый пул (SharedPool) — содержат элементы словаря БД.а также планы выполнения процедур и запросов (сценарии выполнения, созданные оптимизатором запросов);

3. кэш-буферы журнальных файлов — накапливают информацию о происходящих в системе транзакциях для записи в журнал транзакций.

Клиентом СУБД Oracle является любое программное обеспечение, взаимодействующее с сервером Oracle посредством выдачи запросов на языке SQL (например, ПО SQL*Plus), передаваемых по сети с помощью ПО SQL*Net. Клиентское ПО состоит из набора программных файлов (для платформы Windows 9x/NT это файлы с расширением ЕХЕ и DLL).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: