Программные компоненты в составе СУБД 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).
Дата добавления: 2015-10-21; просмотров: 715;