Сервер ORACLE состоит из следующих частей.
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 располагаются области сортировки, области хешей и другие структуры процесса.
DBWn - процесс записи в БД, отвечает за запись измененных блоков на диск.
LGWR отвечает за сброс на диск содержимого буфера журнала повторного выполнения, находящегося в области SGA.
PMON - монитор процессов, осуществляет управление процессами, отвечает за очистку после нештатного прекращения подключений, регистрирует запущенные экземпляры в процессе прослушивания.
SMON - системный монитор, инициализирует структуры, осуществляет дефрагментацию таблиц, осуществляет восстановление экземпляра после сбоев и так далее.
CKPT - процесс контрольной точки, осуществляет сброс грязных блоков на диск с пометкой синхронизации в момент времени (блок - грязный, если был изменен после подъема с диска).
Listener - серверный процесс прослушивания, обеспечивающий физическое подключение к базе данных, выполняет запросы, читает данные с диска. На диск данные пишет фоновый процесс.
ARCn копирует в redo log активный файл журнала повторного выполнения, когда он заполняется процессом LGWR. Эти архивные файлы журнала повторного выполнения затем можно использовать для восстановления носителя.
RECO восстанавливает транзакции, оставшиеся в готовом состоянии из-за сбоя или потери связи в ходе изменения данных на нескольких удаленных базах.
Dn отвечает за обслуживание разделяемым сервером клиентов.
При использовании выделенного сервера имеется соответствие один к одному между клиентским сеансом и серверным процессом (идеально подходит системам оперативной обработки транзакций - ООТ). В режиме MTS (Multi-Threaded Server, архитектура многопотокового сервера) соответствие - многие к одному (много клиентов и один разделяемый сервер).