Архитектура процессов
Пользовательский процесс:
Запускается, когда пользователь базы данных или процесс пакетной обработки соединяются с БД Oracle
Процессы базы данных:
Серверный процесс: Подключения к экземпляру Oracle и запускаются, когда пользователь устанавливает сеанс
Фоновые процессы: Запускаются, когда стартует экземпляр Oracle

Процессы на сервере БД Oracle могут быть категоризированы в две главных группы:
Пользовательские процессы, которые выполняют код приложения или инструмента Oracle
Процессы Базы данных Oracle, которые выполняют код сервера базы данных Oracle. Они включают серверные процессы и фоновые процессы.
Когда пользователь запускает прикладную программу или инструмент Oracle, такой как SQL*Plus, создается пользовательский процесс, чтобы выполнять приложение пользователя. БД Oracle создает серверный процесс, чтобы выполнять команды, задаваемые пользовательским процессом. Кроме того, у сервера Oracle также есть ряд фоновых процессов для экземпляра, которые взаимодействуют как друг с другом, так и с операционной системой, чтобы управлять структурами памяти и асинхронно выполнять ввод-вывод, чтобы записывать данные на диск и выполнять другие необходимые задачи.
Архитектура процессов изменяется для различных конфигураций БД Oracle, в зависимости от операционной системы и выбора опций БД Oracle. Код для соединенных пользователей может быть сконфигурирован как выделенный сервер или совместно используемый сервер.
С выделенным сервером, для каждого пользователя приложение базы данных выполняется пользовательским процессом, который обслуживается выделенным серверным процессом, выполняющим код сервера базы данных Oracle.
Совместно используемый сервер избавляет от необходимости выделенного серверного процесса для каждого соединения. Диспетчер направляет многочисленные входящие запросы сетевых сеансов к пулу разделяемых серверных процессов. Разделяемый серверный процесс обслуживает любой клиентский запрос.
Серверные процессы
База данных Oracle создает серверные процессы, чтобы обрабатывать запросы пользовательских процессов, соединенных с экземпляром. В некоторых ситуациях, когда приложение и БД Oracle работают на том же самом компьютере, возможно объединить пользовательский процесс и соответствующий серверный процесс в единственный процесс, чтобы уменьшить системные издержки. Однако, когда приложение и БД Oracle работают на различных компьютерах, пользовательский процесс всегда связывается с БД Oracle через отдельный серверный процесс.
Серверные процессы, создаваемые от имени приложения каждого пользователя, могут выполнять одну или более из следующих операций:
Анализировать и выполнять SQL-операторы, переданные из приложения.
Читать необходимые блоки данных из файлов данных на диске в совместно используемые буферы базы данных SGA, если блоки уже не присутствуют в SGA.
Возвращать результаты таким образом, чтобы приложение могло обработать информацию.
Фоновые процессы
Чтобы максимизировать производительность и обслуживать множество пользователей, мультипроцессная система БД Oracle использует некоторые дополнительные процессы БД Oracle, называемые фоновыми процессами. У экземпляра БД Oracle может быть много фоновых процессов.
Следующие фоновые процессы требуются для успешного запуска экземпляра базы данных:
Процесс записи базы данных (DBWn)
Процесс записи журнала (
LGWR
)Процесс контрольной точки (
CKPT
)Системный монитор (
SMON
)Монитор процессов (
PMON
)
Следующие фоновые процессы являются несколькими примерами дополнительных фоновых процессов, которые могут быть запущены при необходимости:
Процесс восстановления (
RECO
)Очередь заданий
Архиватор (ARCn)
Монитор очереди (QMNn)
Другие фоновые процессы можно найти в более продвинутых конфигурациях, таких как Реальные Кластеры приложений (RAC). См. представление V$BGPROCESS
для получения дополнительной информации о фоновых процессах.
На многих операционных системах фоновые процессы создаются автоматически, когда экземпляр запускается.